robot

Dependencies:   FastPWM3 mbed

Committer:
bwang
Date:
Tue Nov 13 17:46:23 2018 +0000
Revision:
252:38644631ed97
Parent:
181:d3510c8beab6
11/13/2018 12:45 - hitting <return> on empty line prints "\r>", so that hitting enter after intially connecting to the controller generates a prompt

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bwang 181:d3510c8beab6 1 #include "PreferenceWriter.h"
bwang 181:d3510c8beab6 2 #include "FlashWriter.h"
bwang 181:d3510c8beab6 3
bwang 181:d3510c8beab6 4 #include "prefs.h"
bwang 181:d3510c8beab6 5
bwang 181:d3510c8beab6 6 float __float_reg[64];
bwang 181:d3510c8beab6 7 int __int_reg[64];
bwang 181:d3510c8beab6 8
bwang 181:d3510c8beab6 9 PreferenceWriter::PreferenceWriter(uint32_t sector) {
bwang 181:d3510c8beab6 10 writer = new FlashWriter(sector);
bwang 181:d3510c8beab6 11 __sector = sector;
bwang 181:d3510c8beab6 12 __ready = false;
bwang 181:d3510c8beab6 13 }
bwang 181:d3510c8beab6 14
bwang 181:d3510c8beab6 15 void PreferenceWriter::open() {
bwang 181:d3510c8beab6 16 writer->open();
bwang 181:d3510c8beab6 17 __ready = true;
bwang 181:d3510c8beab6 18 }
bwang 181:d3510c8beab6 19
bwang 181:d3510c8beab6 20 bool PreferenceWriter::ready() {
bwang 181:d3510c8beab6 21 return __ready;
bwang 181:d3510c8beab6 22 }
bwang 181:d3510c8beab6 23
bwang 181:d3510c8beab6 24 void PreferenceWriter::write(int x, int index) {
bwang 181:d3510c8beab6 25 __int_reg[index] = x;
bwang 181:d3510c8beab6 26 }
bwang 181:d3510c8beab6 27
bwang 181:d3510c8beab6 28 void PreferenceWriter::write(float x, int index) {
bwang 181:d3510c8beab6 29 __float_reg[index] = x;
bwang 181:d3510c8beab6 30 }
bwang 181:d3510c8beab6 31
bwang 181:d3510c8beab6 32 void PreferenceWriter::flush() {
bwang 181:d3510c8beab6 33 int offs;
bwang 181:d3510c8beab6 34 for (offs = 0; offs < 64; offs++) {
bwang 181:d3510c8beab6 35 writer->write(offs, __int_reg[offs]);
bwang 181:d3510c8beab6 36 }
bwang 181:d3510c8beab6 37 for (; offs < 128; offs++) {
bwang 181:d3510c8beab6 38 writer->write(offs, __float_reg[offs - 64]);
bwang 181:d3510c8beab6 39 }
bwang 181:d3510c8beab6 40 __ready = false;
bwang 181:d3510c8beab6 41 }
bwang 181:d3510c8beab6 42
bwang 181:d3510c8beab6 43 void PreferenceWriter::load() {
bwang 181:d3510c8beab6 44 int offs;
bwang 181:d3510c8beab6 45 for (offs = 0; offs < 64; offs++) {
bwang 181:d3510c8beab6 46 __int_reg[offs] = flashReadInt(__sector, offs);
bwang 181:d3510c8beab6 47 }
bwang 181:d3510c8beab6 48 for(; offs < 128; offs++) {
bwang 181:d3510c8beab6 49 __float_reg[offs - 64] = flashReadFloat(__sector, offs);
bwang 181:d3510c8beab6 50 }
bwang 181:d3510c8beab6 51 }
bwang 181:d3510c8beab6 52
bwang 181:d3510c8beab6 53 void PreferenceWriter::close() {
bwang 181:d3510c8beab6 54 __ready = false;
bwang 181:d3510c8beab6 55 writer->close();
bwang 181:d3510c8beab6 56 }