1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #include <M5Stack.h>
- #include <M5LoRa.h>
- void header(const char *string, uint16_t color){
- M5.Lcd.fillScreen(color);
- M5.Lcd.setTextSize(1);
- M5.Lcd.setTextColor(TFT_MAGENTA, TFT_BLUE);
- M5.Lcd.fillRect(0, 0, 320, 30, TFT_BLUE);
- M5.Lcd.setTextDatum(TC_DATUM);
- M5.Lcd.drawString(string, 160, 3, 4);
- }
- void setup() {
-
- M5.begin();
- M5.Power.begin();
- // initialize serial
- header("LoRa Receiver Callback", TFT_BLACK);
- M5.Lcd.setTextFont(2);
- M5.Lcd.setTextColor(TFT_WHITE, TFT_BLACK);
- M5.Lcd.drawString("Please use serial port to view data.",0, 35, 2);
- Serial.println("LoRa Receiver Callback");
- // frequency in Hz (433E6, 866E6, 915E6)
- if (!LoRa.begin(433E6)) {
- Serial.println("Starting LoRa failed!");
- while (1);
- }
- // register the receive callback
- LoRa.onReceive(onReceive);
- // put the radio into receive mode
- LoRa.receive();
- }
- void loop() {
- // do nothing
- LoRa.receive();
- }
- void onReceive(int packetSize) {
- // received a packet
- Serial.print("Received packet '");
- // read packet
- for (int i = 0; i < packetSize; i++) {
- Serial.print((char)LoRa.read());
- }
- // print RSSI of packet
- Serial.print("' with RSSI ");
- Serial.println(LoRa.packetRssi());
- }
|