Pacemaker code Implementation for SFWRENG 3K04
Dependencies: FXOS8700Q Queue mbed-rtos mbed
Fork of Pacemaker by
dataStruct.cpp@19:d58e1e1a9a24, 2016-11-24 (annotated)
- Committer:
- trane3
- Date:
- Thu Nov 24 01:10:08 2016 +0000
- Revision:
- 19:d58e1e1a9a24
- Parent:
- 16:08d5e5a3ee74
- Child:
- 28:4f36e100ccbe
added motion class, and accelerometer capabilites for rate modulation (eric); modified user interface by seperating each 'page' into seperate modules (eric)
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
noahzwiep | 16:08d5e5a3ee74 | 1 | #pragma once |
noahzwiep | 16:08d5e5a3ee74 | 2 | #include "dataStruct.h" |
noahzwiep | 16:08d5e5a3ee74 | 3 | #include "rtos.h" |
noahzwiep | 16:08d5e5a3ee74 | 4 | |
trane3 | 19:d58e1e1a9a24 | 5 | dataStruct::dataStruct(hardware* hWare): myQueue(1,N),thread(&dataStruct::threadStarter){ |
noahzwiep | 16:08d5e5a3ee74 | 6 | myHardware = hWare; |
noahzwiep | 16:08d5e5a3ee74 | 7 | thread.signal_set(START_THREAD); |
noahzwiep | 16:08d5e5a3ee74 | 8 | } |
noahzwiep | 16:08d5e5a3ee74 | 9 | |
noahzwiep | 16:08d5e5a3ee74 | 10 | dataStruct::~dataStruct(){ |
noahzwiep | 16:08d5e5a3ee74 | 11 | } |
noahzwiep | 16:08d5e5a3ee74 | 12 | |
noahzwiep | 16:08d5e5a3ee74 | 13 | void dataStruct::threadStarter(void const *p){ |
noahzwiep | 16:08d5e5a3ee74 | 14 | dataStruct *instance = (dataStruct*)p; |
noahzwiep | 16:08d5e5a3ee74 | 15 | instance->storeData(); |
noahzwiep | 16:08d5e5a3ee74 | 16 | } |
noahzwiep | 16:08d5e5a3ee74 | 17 | |
noahzwiep | 16:08d5e5a3ee74 | 18 | void dataStruct::storeData(){ |
noahzwiep | 16:08d5e5a3ee74 | 19 | thread.signal_wait(START_THREAD); |
noahzwiep | 16:08d5e5a3ee74 | 20 | while(true){ |
noahzwiep | 16:08d5e5a3ee74 | 21 | streamValue = myHardware->getSense(); |
noahzwiep | 16:08d5e5a3ee74 | 22 | if(myQueue.GetNumberOfItems() <= N){ |
noahzwiep | 16:08d5e5a3ee74 | 23 | myQueue.Put(&streamValue); |
noahzwiep | 16:08d5e5a3ee74 | 24 | } |
noahzwiep | 16:08d5e5a3ee74 | 25 | Thread::wait(4); |
noahzwiep | 16:08d5e5a3ee74 | 26 | } |
noahzwiep | 16:08d5e5a3ee74 | 27 | } |
noahzwiep | 16:08d5e5a3ee74 | 28 | |
noahzwiep | 16:08d5e5a3ee74 | 29 | queue dataStruct::getData(){ |
noahzwiep | 16:08d5e5a3ee74 | 30 | queue temp = myQueue; |
noahzwiep | 16:08d5e5a3ee74 | 31 | myQueue.Flush(); |
noahzwiep | 16:08d5e5a3ee74 | 32 | return temp; |
noahzwiep | 16:08d5e5a3ee74 | 33 | } |