Flipper raw#1000
Conversation
Note that all parameters (Frequency, Preset, ...) in the .sub-file are constants and export will only work for .sub-files
jopohl
left a comment
There was a problem hiding this comment.
Thanks for adding Flipper Zero support!
| if intval > 0: | ||
| arr.extend(np.full(intval, params["max"], dtype=params["fmt"])) | ||
| else: | ||
| arr.extend(np.zeros(-intval, dtype=params["fmt"])) |
There was a problem hiding this comment.
Curious about the performance of this: As arr is a python list it needs to be converted to a numpy array down the road. Did we test loading larger sub files? Does it have an acceptable performance? An improvement would be to allocate a numpy array of desired size before entering the loop, e.g., with arr = np.zeros(N) and then set its values in the loop.
There was a problem hiding this comment.
Usually .sub files are rather small, so that wouldn't be a problem in practice. Due to the file format concept, you unfortunately do not know the number of samples beforehand. I would rather like to stick to the 1-pass solution and risk a slower performance for unusual large files.
| with open(filename, 'r') as subfile: | ||
| for line in subfile: | ||
| dataline = re.match(r'RAW_Data:\s*([-0-9 ]+)\s*$', line) | ||
| if dataline: |
There was a problem hiding this comment.
Shouldn't we rather check
| if dataline: | |
| if len(dataline) > 1: |
as we refer to dataline[1] in the next line?
There was a problem hiding this comment.
When re fails, dataline does not have a len. This code follows the concept from: https://gist.github.com/jinschoi/40a470e432c6ac244be8159145454b5c
Add support for Flipper Zero .sub files
Future work: Implement export to .sub files in Generator as a plugin (similar to YardStick that also uses CC1101) to support different parameters.