Use display to show serial message Only for test

Dependencies:   EFM32_SegmentLCD IOFuncLib mbed

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?

UserRevisionLine numberNew 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 }