Use display to show serial message Only for test
Dependencies: EFM32_SegmentLCD IOFuncLib mbed
main.cpp@1:08217ba7f63c, 2015-07-19 (annotated)
- Committer:
- MaxScorda
- Date:
- Sun Jul 19 00:26:13 2015 +0000
- Revision:
- 1:08217ba7f63c
- Parent:
- 0:c0d5dcd1de43
Correct serial implementation; String=7 or "X"; Time
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| MaxScorda | 0:c0d5dcd1de43 | 1 | #include "mbed.h" |
| MaxScorda | 0:c0d5dcd1de43 | 2 | #include "EFM32_SegmentLCD.h" |
| MaxScorda | 0:c0d5dcd1de43 | 3 | #include "IOFuncLib.h" |
| MaxScorda | 0:c0d5dcd1de43 | 4 | |
| MaxScorda | 0:c0d5dcd1de43 | 5 | |
| MaxScorda | 0:c0d5dcd1de43 | 6 | silabs::EFM32_SegmentLCD segmentDisplay; |
| MaxScorda | 0:c0d5dcd1de43 | 7 | |
| MaxScorda | 0:c0d5dcd1de43 | 8 | |
| MaxScorda | 0:c0d5dcd1de43 | 9 | /*------------ Constant definitions --------------*/ |
| MaxScorda | 0:c0d5dcd1de43 | 10 | #define TX_PIN USBTX |
| MaxScorda | 0:c0d5dcd1de43 | 11 | #define RX_PIN USBRX |
| MaxScorda | 1:08217ba7f63c | 12 | #define BRATE 9600 |
| MaxScorda | 0:c0d5dcd1de43 | 13 | #define LED_PIN LED1 |
| MaxScorda | 1:08217ba7f63c | 14 | #define TOGGLE_RATE (1.0f) |
| MaxScorda | 1:08217ba7f63c | 15 | #define BUFF_LENGTH 7 |
| MaxScorda | 0:c0d5dcd1de43 | 16 | |
| MaxScorda | 1:08217ba7f63c | 17 | #define INIT_SECONDS 0 |
| MaxScorda | 0:c0d5dcd1de43 | 18 | |
| MaxScorda | 0:c0d5dcd1de43 | 19 | /*-------- Check if platform compatible ----------*/ |
| MaxScorda | 0:c0d5dcd1de43 | 20 | #if DEVICE_SERIAL_ASYNCH |
| MaxScorda | 0:c0d5dcd1de43 | 21 | Serial test_connection(USBTX, USBRX); |
| MaxScorda | 0:c0d5dcd1de43 | 22 | #else |
| MaxScorda | 0:c0d5dcd1de43 | 23 | #error "Platform not compatible with Low Power APIs for Serial" |
| MaxScorda | 0:c0d5dcd1de43 | 24 | #endif |
| MaxScorda | 0:c0d5dcd1de43 | 25 | |
| MaxScorda | 0:c0d5dcd1de43 | 26 | /*------------------ Variables -------------------*/ |
| MaxScorda | 0:c0d5dcd1de43 | 27 | LowPowerTicker blinker; |
| MaxScorda | 0:c0d5dcd1de43 | 28 | bool blinking = false; |
| MaxScorda | 0:c0d5dcd1de43 | 29 | event_callback_t serialEventCb; |
| MaxScorda | 0:c0d5dcd1de43 | 30 | //DigitalOut LED(LED_PIN); |
| MaxScorda | 0:c0d5dcd1de43 | 31 | uint8_t rx_buf[BUFF_LENGTH + 1]; |
| MaxScorda | 0:c0d5dcd1de43 | 32 | |
| MaxScorda | 0:c0d5dcd1de43 | 33 | volatile uint32_t seconds = INIT_SECONDS; |
| MaxScorda | 0:c0d5dcd1de43 | 34 | Flasher led(LED_PIN); |
| MaxScorda | 0:c0d5dcd1de43 | 35 | |
| MaxScorda | 0:c0d5dcd1de43 | 36 | /******************** Define Timers *****************************/ |
| MaxScorda | 0:c0d5dcd1de43 | 37 | // devo separare i timers. Non so il perche' |
| MaxScorda | 0:c0d5dcd1de43 | 38 | LowPowerTicker refreshTicker; |
| MaxScorda | 0:c0d5dcd1de43 | 39 | /*------------------ Callbacks -------------------*/ |
| MaxScorda | 0:c0d5dcd1de43 | 40 | |
| MaxScorda | 0:c0d5dcd1de43 | 41 | |
| MaxScorda | 0:c0d5dcd1de43 | 42 | //------------ Funzioni ------------- |
| MaxScorda | 0:c0d5dcd1de43 | 43 | #include "Functions.h" |
| MaxScorda | 0:c0d5dcd1de43 | 44 | |
| MaxScorda | 0:c0d5dcd1de43 | 45 | //------------------------------------- |
| MaxScorda | 0:c0d5dcd1de43 | 46 | |
| MaxScorda | 0:c0d5dcd1de43 | 47 | |
| MaxScorda | 0:c0d5dcd1de43 | 48 | /*-------------------- Main ----------------------*/ |
| MaxScorda | 0:c0d5dcd1de43 | 49 | int main() |
| MaxScorda | 0:c0d5dcd1de43 | 50 | { |
| MaxScorda | 0:c0d5dcd1de43 | 51 | /* Very Simple Main (tm) */ |
| MaxScorda | 0:c0d5dcd1de43 | 52 | serialEventCb.attach(serialCb); |
| MaxScorda | 0:c0d5dcd1de43 | 53 | |
| MaxScorda | 0:c0d5dcd1de43 | 54 | /* Setup serial connection */ |
| MaxScorda | 0:c0d5dcd1de43 | 55 | test_connection.baud(BRATE); |
| MaxScorda | 1:08217ba7f63c | 56 | test_connection.printf("Low Power API test\n\nSend 'X' to toggle blinking\n"); |
| MaxScorda | 1:08217ba7f63c | 57 | test_connection.read(rx_buf, BUFF_LENGTH, serialEventCb, SERIAL_EVENT_RX_ALL, 'X'); |
| MaxScorda | 0:c0d5dcd1de43 | 58 | |
| MaxScorda | 0:c0d5dcd1de43 | 59 | /* Let the callbacks take care of everything */ |
| MaxScorda | 0:c0d5dcd1de43 | 60 | refreshTicker.attach(&tickerCallback, 1.0f); |
| MaxScorda | 0:c0d5dcd1de43 | 61 | |
| MaxScorda | 0:c0d5dcd1de43 | 62 | while(1) sleep(); |
| MaxScorda | 0:c0d5dcd1de43 | 63 | } |