I have a very simple radio project that works. I am looking to port the transmitter to a Nano 2040 Connect (reasons available upon request) but I am a victim of abstraction layers and pasting stuff together until it works, so I don't understand much of what is actually going over the air with the current solution and therefore am struggling to figure out which 2040 library and settings to start with. I need a 1:1 replacement of the transmitter because the receivers are wearables that already exist in large quantity and cannot be changed.
Working today:
MCU: mega328-based dev board
TX Radio: SYN115, a 433mhz ASK/OOK [datasheet pdf]
Software: VirtualWire, the important bits being:
setup() {
vw_set_tx_pin(transmit_pin);
vw_set_rx_pin(receive_pin); // we dont actually rx anything ever
vw_set_ptt_pin(transmit_en_pin);
vw_set_ptt_inverted(true);
vw_setup(2000); // Bits per sec
}
...
// then every N ms:
uint8_t msg[4] = {byte0, byte1, byte2, byte3};
vw_send((uint8_t *)msg, 4); // yep its just 4 bytes
vw_wait_tx();
RX Radio: SYN480R, 433mhz, ASK/OOK
Software: VirtualWire, similar setup()
situation then just:
uint8_t buf[VW_MAX_MESSAGE_LEN];
vw_get_message(buf, VW_MAX_MESSAGE_LEN);
What I've Tried:
I figured that RadioLib is probably capable of this on the 2040. I searched the repo for "ASK" and found that there is a byte definition RADIOLIB_CC1101_MOD_FORMAT_ASK_OOK
in some of the code supporting the CC1101 hardware, but the examples for CC1101 didnt help me figure out.... anything.
What I'd like
Just a kick in the right direction with a library, maybe "close enough" example somewhere of how to send these 4 stinkin' bytes to my receivers such that they'll understand them.