working commands. singleton deleted

Dependents:   GonioTrainer

Committer:
dkester
Date:
Sun Jun 07 17:49:23 2015 +0000
Revision:
2:c9e47ac47edb
Parent:
1:fd4c0e2decb8
Child:
3:32afe87d4b62
gonio trainer 7 juni

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dkester 0:e188325211af 1 #include "ReadCommand.h"
dkester 1:fd4c0e2decb8 2 #include "OfflineCommand.h"
dkester 0:e188325211af 3
dkester 2:c9e47ac47edb 4 ReadCommand::ReadCommand(Storage* storage)
dkester 0:e188325211af 5 {
dkester 2:c9e47ac47edb 6 this->storage = storage;
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 1:fd4c0e2decb8 25 //Read has nothing to do with the IMU interrupt
dkester 0:e188325211af 26 }
dkester 0:e188325211af 27
dkester 0:e188325211af 28 void ReadCommand::button()
dkester 0:e188325211af 29 {
dkester 0:e188325211af 30 printf("**** BUTTON: ReadCommand *****\n");
dkester 0:e188325211af 31
dkester 0:e188325211af 32 __disable_irq();
dkester 0:e188325211af 33 readFromMemory();
dkester 0:e188325211af 34 __enable_irq();
dkester 0:e188325211af 35 }
dkester 0:e188325211af 36
dkester 0:e188325211af 37
dkester 0:e188325211af 38 void ReadCommand::readFromMemory()
dkester 0:e188325211af 39 {
dkester 0:e188325211af 40 float angle;
dkester 1:fd4c0e2decb8 41 float gyro;
dkester 0:e188325211af 42
dkester 1:fd4c0e2decb8 43 for(int i = 0; i <= OfflineCommand::getLastAddress(); i = i + 4 ) {
dkester 1:fd4c0e2decb8 44 this->storage->read(i);
dkester 0:e188325211af 45
dkester 2:c9e47ac47edb 46 /*
dkester 2:c9e47ac47edb 47 this->storage->readData();
dkester 2:c9e47ac47edb 48 this->storage->readData();
dkester 2:c9e47ac47edb 49 this->storage->readData();
dkester 2:c9e47ac47edb 50 this->storage->readData();
dkester 1:fd4c0e2decb8 51
dkester 1:fd4c0e2decb8 52 this->storage->endAction();
dkester 1:fd4c0e2decb8 53
dkester 1:fd4c0e2decb8 54 angle = ((angle_H << 8) + angle_L) * 0.087912087;
dkester 0:e188325211af 55
dkester 0:e188325211af 56
dkester 1:fd4c0e2decb8 57 gyro = ((float)((imu_H << 8) + imu_L)) / 200;
dkester 1:fd4c0e2decb8 58 //float xgyro = ((float)sensors->getGyroX())/200;
dkester 1:fd4c0e2decb8 59
dkester 1:fd4c0e2decb8 60
dkester 1:fd4c0e2decb8 61 printf("Memory: angle = %.2f, gyroX = %.4f\n", angle, gyro);
dkester 2:c9e47ac47edb 62 */
dkester 1:fd4c0e2decb8 63 }
dkester 1:fd4c0e2decb8 64
dkester 1:fd4c0e2decb8 65
dkester 0:e188325211af 66 printf("DONE!\n");
dkester 0:e188325211af 67 }
dkester 0:e188325211af 68