Skip to content

Commit

Permalink
Update with latest changes by Nero. Add printf to Serial and other st…
Browse files Browse the repository at this point in the history
…uff for RAK13100
  • Loading branch information
beegee-tokyo committed Jun 9, 2021
1 parent ab47709 commit 9aebf83
Show file tree
Hide file tree
Showing 22 changed files with 175 additions and 314 deletions.
15 changes: 15 additions & 0 deletions cores/arduino/api/Print.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
*/

#include <stdlib.h>
#include <stdarg.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
Expand Down Expand Up @@ -235,6 +236,20 @@ size_t Print::println(const Printable& x)
return n;
}

size_t Print::printf(const char * format, ...)
{
char buf[256];
int len;

va_list ap;
va_start(ap, format);

len = vsnprintf(buf, 256, format, ap);
write(buf, len);
va_end(ap);
return len;
}

// Private Methods /////////////////////////////////////////////////////////////

size_t Print::printNumber(unsigned long n, uint8_t base)
Expand Down
2 changes: 1 addition & 1 deletion cores/arduino/api/Print.h
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ class Print
size_t println(double, int = 2);
size_t println(const Printable&);
size_t println(void);

size_t printf(const char * format, ...);
virtual void flush() { /* Empty implementation for backward compatibility */ }
};

Expand Down
2 changes: 2 additions & 0 deletions libraries/PDM/src/rp2040/PDM.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ extern "C" {

#include "pdm.pio.h"

#define PIN_PDM_DIN 7
#define PIN_PDM_CLK 28
// Hardware peripherals used
uint dmaChannel = 0;
PIO pio = pio0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,14 +116,11 @@ void OnRxDone(uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr)
delay(10);
memcpy(RcvBuffer, payload, size);

Serial.print("RssiValue=");
Serial.print(rssi);
Serial.print(" dBm, SnrValue=");
Serial.println(snr);
Serial.printf("RssiValue=%d dBm, SnrValue=%d\n", rssi, snr);

for (int idx = 0; idx < size; idx++)
{
Serial.print(RcvBuffer[idx], 16);
Serial.printf("%02X ", RcvBuffer[idx]);
}
Serial.println("");
Radio.Rx(RX_TIMEOUT_VALUE);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
WB_A1 <-> P0.31/AIN7 (AnalogIn A7)
*/
#include <Arduino.h>
#include <LoRaWan-RAK4630.h> //http://librarymanager/All#SX126x
#include <LoRaWan-RAK11300.h> //http://librarymanager/All#SX126x
#include <SPI.h>

// RAK4630 supply two LED
Expand Down Expand Up @@ -146,8 +146,7 @@ void setup()
err_code = timers_init();
if (err_code != 0)
{
Serial.print("timers_init failed - ", err_code);
Serial.println(err_code);
Serial.printf("timers_init failed - %d\n", err_code);
return;
}

Expand All @@ -169,8 +168,7 @@ void setup()
err_code = lmh_init(&g_lora_callbacks, g_lora_param_init, doOTAA, g_CurrentClass, g_CurrentRegion);
if (err_code != 0)
{
Serial.print("lmh_init failed - ");
Serial.println(err_code);
Serial.printf("lmh_init failed - %d\n", err_code);
return;
}

Expand Down Expand Up @@ -212,23 +210,13 @@ static void lorawan_join_failed_handler(void)
*/
void lorawan_rx_handler(lmh_app_data_t *app_data)
{
Serial.print("LoRa Packet received on port ");
Serial.print(app_data->port);
Serial.print(", size:");
Serial.print(app_data->buffsize);
Serial.print(", rssi:");
Serial.print(app_data->rssi);
Serial.print(", snr:");
Serial.print(app_data->snr);
Serial.print(", data:");
Serial.println(app_data->buffer);
Serial.printf("LoRa Packet received on port %d, size:%d, rssi:%d, snr:%d, data:%s\n",
app_data->port, app_data->buffsize, app_data->rssi, app_data->snr, app_data->buffer);
}

void lorawan_confirm_class_handler(DeviceClass_t Class)
{
Serial.print("switch to class ");
Serial.print("ABC"[Class]);
Serial.println(" done");
Serial.printf("switch to class %c done\n", "ABC"[Class]);
// Informs the server that switch has occurred ASAP
m_lora_app_data.buffsize = 0;
m_lora_app_data.port = gAppPort;
Expand Down Expand Up @@ -258,14 +246,12 @@ void send_lora_frame(void)
if (error == LMH_SUCCESS)
{
count++;
Serial.print("lmh_send ok count");
Serial.println(count);
Serial.printf("lmh_send ok count %d\n", count);
}
else
{
count_fail++;
Serial.print("lmh_send fail count ");
Serial.println(count_fail);
Serial.printf("lmh_send fail count %d\n", count_fail);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -170,15 +170,15 @@ void loop(void)
if (rcvdLoRaData[0] > 0x1F)
{
#ifndef MAX_SAVE
Serial.println((char *)rcvdLoRaData);
Serial.printf("%s\n", (char *)rcvdLoRaData);
#endif
}
else
{
#ifndef MAX_SAVE
for (int idx = 0; idx < rcvdDataLen; idx++)
{
Serial.print(rcvdLoRaData[idx],16);
Serial.printf("%X ", rcvdLoRaData[idx]);
}
Serial.println("");
#endif
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#include <Arduino.h>
#include <SPI.h>

#include <LoRaWan-RAK4630.h>
#include <LoRaWan-RAK11300.h>

// Comment the next line if you want DEBUG output. But the power savings are not as good then!!!!!!!
#define MAX_SAVE
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -156,8 +156,7 @@ void setup()
err_code = timers_init();
if (err_code != 0)
{
Serial.print("timers_init failed - ");
Serial.println(err_code);
Serial.printf("timers_init failed - %d\n", err_code);
return;
}

Expand All @@ -179,8 +178,7 @@ void setup()
err_code = lmh_init(&g_lora_callbacks, g_lora_param_init, doOTAA, g_CurrentClass, g_CurrentRegion);
if (err_code != 0)
{
Serial.print("lmh_init failed - ");
Serial.println(err_code);
Serial.printf("lmh_init failed - %d\n", err_code);
return;
}

Expand Down Expand Up @@ -233,23 +231,13 @@ void lorawan_has_joined_handler(void)
*/
void lorawan_rx_handler(lmh_app_data_t *app_data)
{
Serial.print("LoRa Packet received on port ");
Serial.print(app_data->port);
Serial.print(", size:");
Serial.print(app_data->buffsize);
Serial.print(", rssi:");
Serial.print(app_data->rssi);
Serial.print(", snr:");
Serial.print(app_data->snr);
Serial.print(", data:");
Serial.println(app_data->buffer);
Serial.printf("LoRa Packet received on port %d, size:%d, rssi:%d, snr:%d, data:%s\n",
app_data->port, app_data->buffsize, app_data->rssi, app_data->snr, app_data->buffer);
}

void lorawan_confirm_class_handler(DeviceClass_t Class)
{
Serial.print("switch to class ");
Serial.print("ABC"[Class]);
Serial.println(" done");
Serial.printf("switch to class %c done\n", "ABC"[Class]);
// Informs the server that switch has occurred ASAP
m_lora_app_data.buffsize = 0;
m_lora_app_data.port = gAppPort;
Expand All @@ -272,14 +260,12 @@ void send_lora_frame(void)
if (error == LMH_SUCCESS)
{
count++;
Serial.print("lmh_send ok count");
Serial.println(count);
Serial.printf("lmh_send ok count %d\n", count);
}
else
{
count_fail++;
Serial.print("lmh_send fail count ");
Serial.println(count_fail);
Serial.printf("lmh_send fail count %d\n", count_fail);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -184,8 +184,7 @@ void setup()
err_code = timers_init();
if (err_code != 0)
{
Serial.print("timers_init failed - ", err_code);
Serial.println(err_code);
Serial.printf("timers_init failed - %d\n", err_code);
return;
}

Expand All @@ -207,8 +206,7 @@ void setup()
err_code = lmh_init(&lora_callbacks, lora_param_init, doOTAA, gCurrentClass, gCurrentRegion);
if (err_code != 0)
{
Serial.print("lmh_init failed - ");
Serial.println(err_code);
Serial.printf("lmh_init failed - %d\n", err_code);
return;
}

Expand Down Expand Up @@ -250,23 +248,13 @@ static void lorawan_join_failed_handler(void)
*/
void lorawan_rx_handler(lmh_app_data_t *app_data)
{
Serial.print("LoRa Packet received on port ");
Serial.print(app_data->port);
Serial.print(", size:");
Serial.print(app_data->buffsize);
Serial.print(", rssi:");
Serial.print(app_data->rssi);
Serial.print(", snr:");
Serial.print(app_data->snr);
Serial.print(", data:");
Serial.println(app_data->buffer);
Serial.printf("LoRa Packet received on port %d, size:%d, rssi:%d, snr:%d, data:%s\n",
app_data->port, app_data->buffsize, app_data->rssi, app_data->snr, app_data->buffer);
}

void lorawan_confirm_class_handler(DeviceClass_t Class)
{
Serial.print("switch to class ");
Serial.print("ABC"[Class]);
Serial.println(" done");
Serial.printf("switch to class %c done\n", "ABC"[Class]);
// Informs the server that switch has occurred ASAP
m_lora_app_data.buffsize = 0;
m_lora_app_data.port = gAppPort;
Expand All @@ -285,14 +273,12 @@ void send_lora_frame(void)
if (error == LMH_SUCCESS)
{
count++;
Serial.print("lmh_send ok count");
Serial.println(count);
Serial.printf("lmh_send ok count %d\n", count);
}
else
{
count_fail++;
Serial.print("lmh_send fail count ");
Serial.println(count_fail);
Serial.printf("lmh_send fail count %d\n", count_fail);
}
TimerSetValue(&appTimer, LORAWAN_APP_INTERVAL);
TimerStart(&appTimer);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -154,8 +154,7 @@ void setup()
err_code = timers_init();
if (err_code != 0)
{
Serial.print("timers_init failed - ", err_code);
Serial.println(err_code);
Serial.printf("timers_init failed - %d\n", err_code);
return;
}

Expand All @@ -177,8 +176,7 @@ void setup()
err_code = lmh_init(&g_lora_callbacks, g_lora_param_init, doOTAA, g_CurrentClass, g_CurrentRegion);
if (err_code != 0)
{
Serial.print("lmh_init failed - ");
Serial.println(err_code);
Serial.printf("lmh_init failed - %d\n", err_code);
return;
}

Expand Down Expand Up @@ -221,23 +219,13 @@ static void lorawan_join_failed_handler(void)
*/
void lorawan_rx_handler(lmh_app_data_t *app_data)
{
Serial.print("LoRa Packet received on port ");
Serial.print(app_data->port);
Serial.print(", size:");
Serial.print(app_data->buffsize);
Serial.print(", rssi:");
Serial.print(app_data->rssi);
Serial.print(", snr:");
Serial.print(app_data->snr);
Serial.print(", data:");
Serial.println(app_data->buffer);
Serial.printf("LoRa Packet received on port %d, size:%d, rssi:%d, snr:%d, data:%s\n",
app_data->port, app_data->buffsize, app_data->rssi, app_data->snr, app_data->buffer);
}

void lorawan_confirm_class_handler(DeviceClass_t Class)
{
Serial.print("switch to class ");
Serial.print("ABC"[Class]);
Serial.println(" done");
Serial.printf("switch to class %c done\n", "ABC"[Class]);
// Informs the server that switch has occurred ASAP
g_m_lora_app_data.buffsize = 0;
g_m_lora_app_data.port = g_AppPort;
Expand Down Expand Up @@ -269,9 +257,7 @@ int get_pressure(void)
//0.01mA == 6.25KPa
pressure = (current_sensor - 3.95) * 100 * 2.5;

Serial.print("-------pressure------ = ");
Serial.print(pressure);
Serial.println(" KPa");
Serial.printf("-------pressure------ = %d KPa\n", pressure);

return pressure;
}
Expand Down Expand Up @@ -299,15 +285,13 @@ void send_lora_frame(void)
lmh_error_status error = lmh_send(&g_m_lora_app_data, g_CurrentConfirm);
if (error == LMH_SUCCESS)
{
count++;
Serial.print("lmh_send ok count");
Serial.println(count);
g_count++;
Serial.printf("lmh_send ok count %d\n", g_count);
}
else
{
count_fail++;
Serial.print("lmh_send fail count ");
Serial.println(count_fail);
g_count_fail++;
Serial.printf("lmh_send fail count %d\n", g_count_fail);
}
}

Expand Down
Loading

0 comments on commit 9aebf83

Please sign in to comment.