button
Dependencies: BMI160 SDFileSystem USBDevice max32630fthr
Fork of MPSMAX by
main.cpp
- Committer:
- FaizanAhmad
- Date:
- 2018-05-08
- Revision:
- 2:5767f3f6909f
- Parent:
- 1:6b969a803e1b
File content as of revision 2:5767f3f6909f:
#include "mbed.h" #include "max32630fthr.h" #include "USBSerial.h" #include "Default.h" #include "DefaultRequired.h" /*#if (MBED_MAJOR_VERSION == 2) #include "SDFileSystem.h" #elif (MBED_MAJOR_VERSION == 5) #include "SDBlockDevice.h" #include "FATFileSystem.h" #endif*/ #include <stdlib.h> #include "main.h" #include "files.h" MAX32630FTHR pegasus(MAX32630FTHR::VIO_3V3); Serial _serialport(USBTX,USBRX); DigitalOut LED(P3_1); DigitalOut Ctrl(P6_0); DigitalOut rLED(LED1); DigitalOut gLED(LED2); DigitalOut bLED(LED3); /*#if (MBED_MAJOR_VERSION == 2) SDFileSystem sd(D11, D12, D13, D10, "fs"); // do,di,clk,cs #elif (MBED_MAJOR_VERSION == 5) //SDBlockDevice sd(D11, D12, D13, D10, 8000000); SDBlockDevice sd(SPI0_MOSI, SPI0_MISO, SPI0_SCK, SPI0_SS, 8000000); // For MAX32630FTHR FATFileSystem fs("fs"); #endif*/ void Rx_interrupt(void); Default default_SM; bool is_smactive; // main() runs in its own thread in the OS // (note the calls to Thread::wait below for delays) int main() { _serialport.attach(&Rx_interrupt); gLED = LED_ON; rLED = LED_ON; _serialport.printf("in main\r\n"); _serialport.printf("before init\r\n"); #if (MBED_MAJOR_VERSION == 5) /* Init SD CARD reader */ sd.init(); fs.mount(&sd); #endif FILE* fp = fopen("/fs/somefile.txt", "a"); if (fp != 0) { _serialport.printf("writing adasda\n\r\n"); fprintf(fp,"writing asdasdasd\n\r\n"); } else { _serialport.printf("ERROR\r\n"); } fclose(fp); /* initialize state machine*/ default_init(&default_SM); default_enter(&default_SM); is_smactive = false; while(1) { if(is_smactive == true) { // _serialport.printf("state active\n"); is_smactive = false; default_runCycle(&default_SM); } } } /* Call back from Interrupt when Receiving Serial data*/ void Rx_interrupt(void) { char keypress = '\0'; keypress = _serialport.getc(); /**Actions on received data*/ switch(keypress) { default: break; case 'Q': //_serialport.printf("Q"); defaultIface_raise_mode(&default_SM); is_smactive = true; break; case 'W': //_serialport.printf("W "); defaultIface_raise_up(&default_SM); is_smactive = true; break; case 'E': //_serialport.printf("E "); defaultIface_raise_down(&default_SM); is_smactive = true; break; case 'R': //_serialport.printf("R "); defaultIface_raise_back(&default_SM); is_smactive = true; break; case 'T': //_serialport.printf("T "); defaultIface_raise_home(&default_SM); is_smactive = true; break; } } void PrintStatus_Serial(int val ) { switch(val) { case 1: _serialport.printf("Menu "); break; case 2: _serialport.printf("function "); break; case 3: _serialport.printf("execute "); break; case 4: _serialport.printf("ready "); break; case 5: _serialport.printf("active "); break; case 6: _serialport.printf("alarm "); break; case 7: _serialport.printf("move down act "); break; case 8: _serialport.printf("move up act "); break; case 9: _serialport.printf("return "); break; default: break; } }