TEST
Dependencies: TMRh20_v2 mbed-dev ssRadio WakeUp
main.cpp@1:499ddde5f76c, 2017-10-14 (annotated)
- 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?
User | Revision | Line number | New 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 |