Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: Servo mbed-rtos mbed
main.cpp
- Committer:
- mariob
- Date:
- 2015-08-31
- Revision:
- 1:79b1ee0f97ef
- Parent:
- 0:ce6055872f4e
- Child:
- 2:7dfc8dd6aab3
File content as of revision 1:79b1ee0f97ef:
#include "mbed.h" #include "car_config.hpp" #include "rtos.h" #include "led.hpp" #include "body.hpp" #include "engine.hpp" #include "driver.hpp" #include "clock.hpp" int init(); int main() { init(); while(1) {}; } void init_eeprom(); Thread *th_body; Thread *th_can; Thread *th_engine; Thread *th_driver; Thread *th_clock; void init_threads () { th_body = new Thread(thread_body); th_engine = new Thread(thread_engine); th_can = new Thread(thread_can); th_driver = new Thread(thread_driver); th_clock = new Thread(thread_clock); } int init () { init_body(); init_clock(); init_driver(); init_engine(); printf("INIT LED\r\n"); init_led(); /* printf("INIT EEPROM\r\n"); init_eeprom(); */ printf("INIT CAN\r\n"); init_can(); printf("INIT THREAD\r\n"); init_threads(); return true; } /****************** EEPROM ******************/ /* eeprom_t eeprom(p7, p5, p6, p9, PAGENUMBER, PAGESIZE); t_eeprom_data eeprom_data[] = { //SIZE, ADDR { 2, 0}, //SOFTWARE VERSION { 2, 2}, //DATA VERSION { 4, 4}, //NUMBER OF STARTS { 4, 20}, //T_MISSING { 4, 40}, //ENGINE_LAST_MISSING { 4, 44} //BODY_LAST_MISSING }; void init_eeprom () { eeprom.init(eeprom_data, sizeof(eeprom_data)/sizeof(t_eeprom_data)); uint16 sw = 0; uint16 dd = 0; uint32 num = 0; if ((eeprom.read(EEPROM_DATA_SW_VERS, (uint8*)(&sw)) != 2) || (eeprom.read(EEPROM_DATA_DD_VERS, (uint8*)(&dd)) != 2) || (sw != SW_VERSION) || (dd != DD_VERSION)) { //error eeprom.reset(); sw = SW_VERSION; eeprom.write(EEPROM_DATA_SW_VERS, (uint8*)(&sw)); dd = DD_VERSION; eeprom.write(EEPROM_DATA_DD_VERS, (uint8*)(&dd)); } if (eeprom.read(EEPROM_DATA_NSTARTS, (uint8*)(&num)) != 4) num = 0xffffffff; num++; eeprom.write(EEPROM_DATA_NSTARTS, (unsigned char*)(&num)); } */