Signal Generator
Dependencies: IniManager RA8875 Watchdog mbed-rtos mbed
Fork of speaker_demo_Analog by
main.cpp@3:d22f3e52d06a, 2017-01-16 (annotated)
- Committer:
- WiredHome
- Date:
- Mon Jan 16 04:33:06 2017 +0000
- Revision:
- 3:d22f3e52d06a
- Parent:
- 2:8f71b71fce1b
- Child:
- 4:10281ddb673d
Added button for Start/Stop/Pulse
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
WiredHome | 1:dd07e1deec6c | 1 | |
4180_1 | 0:1c8118ee4106 | 2 | #include "mbed.h" |
WiredHome | 1:dd07e1deec6c | 3 | #include "RA8875.h" |
WiredHome | 1:dd07e1deec6c | 4 | #include "Watchdog.h" // ver 2 |
WiredHome | 3:d22f3e52d06a | 5 | //#include "IniManager.h" // v19 |
WiredHome | 1:dd07e1deec6c | 6 | |
WiredHome | 2:8f71b71fce1b | 7 | #include "SignalGenDisplay.h" |
WiredHome | 2:8f71b71fce1b | 8 | #include "SignalGenDAC.h" |
WiredHome | 2:8f71b71fce1b | 9 | |
WiredHome | 1:dd07e1deec6c | 10 | RA8875 lcd(p5,p6,p7,p12, NC, "tft"); // SPI:{MOSI,MISO,SCK,/ChipSelect,/reset}, name |
WiredHome | 3:d22f3e52d06a | 11 | //INI ini; |
WiredHome | 1:dd07e1deec6c | 12 | |
WiredHome | 1:dd07e1deec6c | 13 | RawSerial pc(USBTX, USBRX); |
WiredHome | 1:dd07e1deec6c | 14 | LocalFileSystem local("local"); |
WiredHome | 3:d22f3e52d06a | 15 | SignalGenDAC g_signal(p18); |
WiredHome | 3:d22f3e52d06a | 16 | SignalGenDisplay ui(&lcd, &g_signal); |
WiredHome | 3:d22f3e52d06a | 17 | |
WiredHome | 1:dd07e1deec6c | 18 | Watchdog wd; |
WiredHome | 1:dd07e1deec6c | 19 | |
WiredHome | 1:dd07e1deec6c | 20 | /* CPU Available indicator |
WiredHome | 1:dd07e1deec6c | 21 | */ |
WiredHome | 1:dd07e1deec6c | 22 | DigitalOut g_availableLed(LED1); //<! Led used to indicate the program is alive |
WiredHome | 1:dd07e1deec6c | 23 | void AvailableLedIndicator(); //<! Ticker callback |
WiredHome | 1:dd07e1deec6c | 24 | Ticker g_available; |
4180_1 | 0:1c8118ee4106 | 25 | |
WiredHome | 1:dd07e1deec6c | 26 | |
WiredHome | 1:dd07e1deec6c | 27 | |
WiredHome | 1:dd07e1deec6c | 28 | |
WiredHome | 1:dd07e1deec6c | 29 | |
WiredHome | 1:dd07e1deec6c | 30 | /* Program Entry Point |
WiredHome | 1:dd07e1deec6c | 31 | */ |
WiredHome | 1:dd07e1deec6c | 32 | int main() { |
WiredHome | 1:dd07e1deec6c | 33 | pc.baud(460800); |
WiredHome | 1:dd07e1deec6c | 34 | |
WiredHome | 1:dd07e1deec6c | 35 | if (wd.WatchdogCausedReset()) { |
WiredHome | 1:dd07e1deec6c | 36 | pc.printf("**** Watchdog Event caused reset ****\r\n"); |
WiredHome | 1:dd07e1deec6c | 37 | } |
WiredHome | 3:d22f3e52d06a | 38 | wd.Configure(30.0); |
WiredHome | 3:d22f3e52d06a | 39 | //ini.SetFile("/local/SigGen.ini", 2); |
WiredHome | 1:dd07e1deec6c | 40 | |
WiredHome | 1:dd07e1deec6c | 41 | lcd.init(480,272,16, true, true, true); |
WiredHome | 3:d22f3e52d06a | 42 | while (true) |
WiredHome | 1:dd07e1deec6c | 43 | { |
WiredHome | 3:d22f3e52d06a | 44 | wd.Service(); |
WiredHome | 1:dd07e1deec6c | 45 | if (pc.readable()) { |
WiredHome | 1:dd07e1deec6c | 46 | int c = pc.getc(); |
WiredHome | 1:dd07e1deec6c | 47 | ui.Poll(c); |
WiredHome | 1:dd07e1deec6c | 48 | } else { |
WiredHome | 1:dd07e1deec6c | 49 | ui.Poll(); |
WiredHome | 1:dd07e1deec6c | 50 | } |
WiredHome | 1:dd07e1deec6c | 51 | } // End of 'while' statement |
WiredHome | 1:dd07e1deec6c | 52 | } // End of main program |
WiredHome | 1:dd07e1deec6c | 53 | |
WiredHome | 2:8f71b71fce1b | 54 |