working commands. singleton deleted
ReadCommand.cpp@0:e188325211af, 2015-06-04 (annotated)
- Committer:
- dkester
- Date:
- Thu Jun 04 10:56:18 2015 +0000
- Revision:
- 0:e188325211af
- Child:
- 1:fd4c0e2decb8
working version with block erase.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dkester | 0:e188325211af | 1 | #include "ReadCommand.h" |
dkester | 0:e188325211af | 2 | |
dkester | 0:e188325211af | 3 | ReadCommand::ReadCommand() |
dkester | 0:e188325211af | 4 | { |
dkester | 0:e188325211af | 5 | Storage* storage = Storage::getInstance(); |
dkester | 0:e188325211af | 6 | Sensors* sensors = Sensors::getInstance(); |
dkester | 0:e188325211af | 7 | this->running = 0; |
dkester | 0:e188325211af | 8 | this->addr = 0x00; |
dkester | 0:e188325211af | 9 | } |
dkester | 0:e188325211af | 10 | |
dkester | 0:e188325211af | 11 | void ReadCommand::initialize() |
dkester | 0:e188325211af | 12 | { |
dkester | 0:e188325211af | 13 | printf("ReadCommand\n"); |
dkester | 0:e188325211af | 14 | setLed(1); |
dkester | 0:e188325211af | 15 | } |
dkester | 0:e188325211af | 16 | |
dkester | 0:e188325211af | 17 | void ReadCommand::finish() |
dkester | 0:e188325211af | 18 | { |
dkester | 0:e188325211af | 19 | setLed(0); |
dkester | 0:e188325211af | 20 | } |
dkester | 0:e188325211af | 21 | |
dkester | 0:e188325211af | 22 | |
dkester | 0:e188325211af | 23 | void ReadCommand::execute() |
dkester | 0:e188325211af | 24 | { |
dkester | 0:e188325211af | 25 | } |
dkester | 0:e188325211af | 26 | |
dkester | 0:e188325211af | 27 | void ReadCommand::button() |
dkester | 0:e188325211af | 28 | { |
dkester | 0:e188325211af | 29 | printf("**** BUTTON: ReadCommand *****\n"); |
dkester | 0:e188325211af | 30 | |
dkester | 0:e188325211af | 31 | __disable_irq(); |
dkester | 0:e188325211af | 32 | readFromMemory(); |
dkester | 0:e188325211af | 33 | __enable_irq(); |
dkester | 0:e188325211af | 34 | } |
dkester | 0:e188325211af | 35 | |
dkester | 0:e188325211af | 36 | |
dkester | 0:e188325211af | 37 | void ReadCommand::readFromMemory() |
dkester | 0:e188325211af | 38 | { |
dkester | 0:e188325211af | 39 | float angle; |
dkester | 0:e188325211af | 40 | int16_t gyro; |
dkester | 0:e188325211af | 41 | |
dkester | 0:e188325211af | 42 | this->storage->read(addr); |
dkester | 0:e188325211af | 43 | |
dkester | 0:e188325211af | 44 | angle_H= this->storage->readData(); |
dkester | 0:e188325211af | 45 | angle_L = this->storage->readData(); |
dkester | 0:e188325211af | 46 | imu_H = this->storage->readData(); |
dkester | 0:e188325211af | 47 | imu_L = this->storage->readData(); |
dkester | 0:e188325211af | 48 | |
dkester | 0:e188325211af | 49 | //for(int i = 0; i <100; i++) { |
dkester | 0:e188325211af | 50 | do{ |
dkester | 0:e188325211af | 51 | angle = ((angle_H << 8) + angle_L) * 0.087912087; |
dkester | 0:e188325211af | 52 | gyro = ((imu_H << 8) + imu_L)/ 200; |
dkester | 0:e188325211af | 53 | |
dkester | 0:e188325211af | 54 | angle_H= this->storage->readData(); |
dkester | 0:e188325211af | 55 | angle_L = this->storage->readData(); |
dkester | 0:e188325211af | 56 | imu_H = this->storage->readData(); |
dkester | 0:e188325211af | 57 | imu_L = this->storage->readData(); |
dkester | 0:e188325211af | 58 | |
dkester | 0:e188325211af | 59 | |
dkester | 0:e188325211af | 60 | printf("Memory: angle = %.2f, gyroX = %d\n", angle, gyro); |
dkester | 0:e188325211af | 61 | } while(angle_H != 0xFF); |
dkester | 0:e188325211af | 62 | |
dkester | 0:e188325211af | 63 | this->storage->endAction(); |
dkester | 0:e188325211af | 64 | printf("DONE!\n"); |
dkester | 0:e188325211af | 65 | } |
dkester | 0:e188325211af | 66 |