TEST

Dependencies:   TMRh20_v2 mbed-dev ssRadio WakeUp

Committer:
gume
Date:
Sat Oct 14 22:41:48 2017 +0000
Revision:
1:499ddde5f76c
Parent:
0:827df48824f9
Sleep added

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gume 0:827df48824f9 1 #include "ssRadio.h"
gume 1:499ddde5f76c 2 #include "WakeUp.h"
gume 0:827df48824f9 3
gume 0:827df48824f9 4 SPI spi(SPI_MOSI, SPI_MISO, SPI_SCK);
gume 0:827df48824f9 5 SSRadio *radio;
gume 0:827df48824f9 6 //Serial pc(SERIAL_TX, SERIAL_RX);
gume 0:827df48824f9 7
gume 0:827df48824f9 8 void onData(uint8_t *data, uint16_t type, uint8_t size) {
gume 0:827df48824f9 9 //pc.printf("Data received.\n");
gume 0:827df48824f9 10 //pc.printf("Type: %d\n", type);
gume 0:827df48824f9 11 //pc.printf("Size: %d", size);
gume 0:827df48824f9 12 }
gume 0:827df48824f9 13
gume 0:827df48824f9 14 void loop();
gume 0:827df48824f9 15
gume 0:827df48824f9 16 int main() {
gume 0:827df48824f9 17 //pc.baud(115200);
gume 0:827df48824f9 18 //Serial.println(F("Hello World!"));
gume 0:827df48824f9 19
gume 0:827df48824f9 20 spi.frequency(8000000);
gume 0:827df48824f9 21 spi.format(8, 0);
gume 0:827df48824f9 22
gume 0:827df48824f9 23 NodeConfig nc(PA_1, PA_2);
gume 0:827df48824f9 24 //nc.setSyncAddress(0x3333333333L);
gume 0:827df48824f9 25 //nc.setNodeAddress(0x424D451110L); // This is stored in EEPROM or uinqID
gume 0:827df48824f9 26 nc.setSyncAddress(0x424D452AD2L);
gume 0:827df48824f9 27 nc.setGwId(0x2AE1);
gume 0:827df48824f9 28 nc.setChannel(112);
gume 0:827df48824f9 29
gume 0:827df48824f9 30 //Serial.println("I'm " + String(nc.getNodeId()));
gume 0:827df48824f9 31 //Serial.flush();
gume 0:827df48824f9 32
gume 0:827df48824f9 33 radio = new SSRadio(&spi, &nc);
gume 0:827df48824f9 34 radio->init();
gume 0:827df48824f9 35
gume 0:827df48824f9 36 radio->setOnReceiveData(&onData);
gume 0:827df48824f9 37
gume 0:827df48824f9 38 if (!radio->isRunning()) {
gume 0:827df48824f9 39 //pc.printf("Error Radio is not working!");
gume 0:827df48824f9 40 } else {
gume 0:827df48824f9 41 //pc.printf("Working.");
gume 0:827df48824f9 42 }
gume 0:827df48824f9 43
gume 1:499ddde5f76c 44 WakeUp::calibrate();
gume 1:499ddde5f76c 45
gume 0:827df48824f9 46 while (1) { loop(); }
gume 0:827df48824f9 47 }
gume 0:827df48824f9 48
gume 0:827df48824f9 49 long last = 0;
gume 0:827df48824f9 50
gume 0:827df48824f9 51 void loop() {
gume 0:827df48824f9 52 // put your main code here, to run repeatedly:
gume 0:827df48824f9 53
gume 1:499ddde5f76c 54 WakeUp::set_ms(2000);
gume 1:499ddde5f76c 55 //deepsleep();
gume 1:499ddde5f76c 56 // Stop HAL tick to avoid to exit sleep in 1ms
gume 1:499ddde5f76c 57 HAL_SuspendTick();
gume 1:499ddde5f76c 58 // Request to enter SLEEP mode
gume 1:499ddde5f76c 59 HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON, PWR_SLEEPENTRY_WFI);
gume 1:499ddde5f76c 60 // Restart HAL tick
gume 1:499ddde5f76c 61 HAL_ResumeTick();
gume 1:499ddde5f76c 62
gume 1:499ddde5f76c 63 radio->sendData((uint8_t*)"Hello", 6, 6);
gume 1:499ddde5f76c 64 radio->loop();
gume 1:499ddde5f76c 65
gume 1:499ddde5f76c 66 //long now = us_ticker_read() / 1000;
gume 1:499ddde5f76c 67 //if (now - last > 1000) {}
gume 0:827df48824f9 68 //pc.printf("Hello");
gume 0:827df48824f9 69
gume 0:827df48824f9 70 }
gume 0:827df48824f9 71