working commands. singleton deleted

Dependents:   GonioTrainer

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?

UserRevisionLine numberNew 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