Raspberry Pi port? #23
Replies: 1 comment
-
It's not a dumb question but the answer its that it wouldn't be a straight forward port. The interface to the cc1101 is not just the SPI interface. There is also what is in effect a serial port (GDO0/GDO2). At first sight it appears you only need the SPI interface but in practice I have found that to successfully receive the RAMSES messages (at least for Honeywell Evohome related devices) you have to use the RX part of a HW UART on the microprocessor. I'm not sure if the UART on the GPIO pins of a Pi has the hardware functionality required - you'd probably have to reconfigure linux to release the primary UART used by the console. The problem is that the bitstream transmitted by all the devices are essentially asynchronous and they all have independent clocks. TX is actually achieved using the SPI interface and the cc1101 FIFO. This is possible because the TX cc1101 is the clock generator for the transmitted bitstream. You can't use the FIFO for RX because the cc1101 clock can't be in synch with every other device at once. So you have to use a UART. It is possible to use a software UART (that's what happens on the atmega328 version of evofw3) but a hardware UART with RX interrupts and full synchronisation support is essential - some of the devices randomly extend the stop bit throwing simpler UARTS out of synch. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Raspberry Pi has an SPI interface which can be used to connect directly to a CC1101 - as used by projects such as https://github.com/SpaceTeddy/CC1101 and https://github.com/28757B2/cc1101-driver for generic applications.
Would it be feasible to implement evofw3 as a Linux driver, rather than using a separate microcontroller to create a USB interface?
This would make it possible to run https://github.com/zxdavb/ramses_rf with one less piece of hardware.
Please forgive my ignorance and tell me why if this is a dumb question!
Beta Was this translation helpful? Give feedback.
All reactions