working commands. singleton deleted
Diff: OfflineCommand.cpp
- Revision:
- 3:32afe87d4b62
- Parent:
- 2:c9e47ac47edb
- Child:
- 4:f81029197ab2
--- a/OfflineCommand.cpp Sun Jun 07 17:49:23 2015 +0000 +++ b/OfflineCommand.cpp Sun Jun 07 21:57:46 2015 +0000 @@ -15,7 +15,6 @@ { printf("OfflineCommand\n"); this->state = 0; - //setLed(1); setTicker(0.1); } @@ -63,22 +62,23 @@ void OfflineCommand::finish() { this->state = 0; - detachTicker(); + detachTicker(); setLed(0); } void OfflineCommand::writeToMemory() { + sensors->updateAngle(); + sensors->updateIMU(); + if(!storage->isBusy()) { storage->pageProgram(addr); - /* - storage->writeData() - storage->writeData() - storage->writeData() - storage->writeData() - */ + storage->writeData(sensors->getAngle(0)); + storage->writeData(sensors->getAngle(1)); + storage->writeData(sensors->getIMU(0)); + storage->writeData(sensors->getIMU(1)); storage->endAction(); @@ -92,20 +92,17 @@ void OfflineCommand::eraseMemory() { + /* __disable_irq(); storage->reset(); while(storage->isBusy()) { - setLed(1); wait(0.1); - setLed(0); } + storage->setWREN(); - wait(0.01); - storage->bulkErase(); - wait(0.01); printf("erasing...\n"); @@ -114,34 +111,28 @@ wait(0.1); } - printf("succes...%d\n", storage->getSR1()); + printf("SUCCES!\n"); __enable_irq(); - -/* + */ + __disable_irq(); - Storage::getInstance()->read(addr); + storage->read(0x00); - while(Storage::getInstance()->readData() != 0xFF){ - Storage::getInstance()->endAction(); //end previous read action + while(storage->readData() != -1){ + storage->endAction(); //end previous read action - Storage::getInstance()->sectorErase(addr); + storage->sectorErase(addr); - while( Storage::getInstance()->isBusy()){ - wait(0.01); - } - addr = addr + (1<<18); + while(storage->isBusy()){ wait(0.01); } + printf("sector %d erased\n", addr); - Storage::getInstance()->read(addr); //set next section addr for read in the while statement + addr = addr + (1<<18); + storage->read(addr); //set next section addr for read in the while statement } - printf("sector erase done\n"); - Storage::getInstance()->endAction(); + + printf("ERASE done!\n"); + storage->endAction(); __enable_irq(); - - */ -} - -int32_t OfflineCommand::getLastAddress(){ - return addr; - } \ No newline at end of file +} \ No newline at end of file