-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support user supplied protocol timings from host for receive decoding #14
Comments
Hi @otsoni , original portisch used just TX = 32 bytes, but as you say for sniffing long codes that can be too little. However, I now block for sending in uart_put_RF_buckets() as portisch also did. I just need to produce a new release very soon with these fixes. |
If you're willing to test the latest release with your devices and let me know how it goes, that would be very helpful: Another user has had some good success recently: |
I realized after I had send my first message that you already had been working on with something, but I hadn't pulled the code for some time. It seems to be working now and thank you very much, I really appreciate your work with this. I tried myself different approach to blocking uart and you can check it from my fork (https://github.com/otsoni/RF-Bridge-OB38S003/tree/blocking-uart) if you want. It would save a ton of RAM and also some Flash memory, but it is not fully tested. I think that the sending works ok, but not sure if that kind of system can miss some receiving data if there is somehing taking too long on main while loop. |
Ah okay, sure I'll take a look. Might be possible to test a version like that and see how well it performs with real devices. I noticed you did some makefile edits as well. |
I didn't chage souces of other targets so they didn't compile and I just needed a way to build only the portisch version. I don't have deep understanding of makefiles, but I can try to find some solution. |
I checked and you can define preprocessor macro with command line option -D for sdcc (other compilers too). All releases should then have their own versions compiled of that file. I am on my phone, but can check it later when I'm back on my computer |
Got it, no problem, I'll look into it as well. |
I was thinking if it would be possible to extend the Portisch commands? As there is limited amount of RAM, it is not possible to have all the protocols defined in the firmware. I was thinking if there could be new command for "teaching" protocols for the OB38S003. So that there is no protocols at all (or just really basic one for backwards compatibility) defined and then esphome or tasmota would call the new command for the protocols that are wanted to use. Then there could be a lot of protocols defined in esphome or tasmota and it teaches the necessary protocols for the OB38S003. Does this sound like somthing doable? |
You can essentially send arbitrary timings with the 0xB0 transmit command. I think a new discussion will be opened to focus on non-responsive microcontroller "freezing" soon. |
Sending is not the problem here, but receiving. I'm not really sure how many needs this and myself I can use the passthrough firmware really well, but I tought that this might be something to think about. I can try to modify the code to allow dynamic protocol defining, but it will take some time. |
I see what you mean, should be possible. |
I think that compiling and flashing new firmware to get support for protocols is kinda difficult. I know that not every Average Joes can use this as it needs flashing the firmware at least once, but it would be more simple to just flash one firmware and keep it there regardless of the used protocols. I try to create something for that after debugging the receiving error |
Nexa devices are using 64-bit codes, but uart TX buffer is too small (48 at the moment) for sending those. Would it be too bad to handle the uart TX in a blocking way? I can make a pull request for that if needed.
The text was updated successfully, but these errors were encountered: