altos: Remove pad_orientation functions from non-accel devices
[fw/altos] / src / ao_storage.c
index 25a7c8b9016a651558c98233abc83a1d5a22edee..6ffca0e5f10313f70f687701652abc6f6c8f0b11 100644 (file)
@@ -92,7 +92,7 @@ ao_storage_dump(void) __reentrant
                                  storage_data,
                                  8)) {
                        ao_cmd_put16((uint16_t) i);
-                       for (j = 0; j < 7; j++) {
+                       for (j = 0; j < 8; j++) {
                                putchar(' ');
                                ao_cmd_put8(storage_data[j]);
                        }
@@ -103,6 +103,10 @@ ao_storage_dump(void) __reentrant
        }
 }
 
+#if 0
+
+/* not enough space for this today
+ */
 static void
 ao_storage_store(void) __reentrant
 {
@@ -130,6 +134,7 @@ ao_storage_store(void) __reentrant
                addr++;
        }
 }
+#endif
 
 void
 ao_storage_zap(void) __reentrant
@@ -140,6 +145,18 @@ ao_storage_zap(void) __reentrant
        ao_storage_erase((uint32_t) ao_cmd_lex_i << 8);
 }
 
+void
+ao_storage_zapall(void) __reentrant
+{
+       uint32_t        pos;
+
+       ao_cmd_white();
+       if (!ao_match_word("DoIt"))
+               return;
+       for (pos = 0; pos < ao_storage_config; pos += ao_storage_block)
+               ao_storage_erase(pos);
+}
+
 void
 ao_storage_info(void) __reentrant
 {
@@ -149,11 +166,14 @@ ao_storage_info(void) __reentrant
 }
 
 __code struct ao_cmds ao_storage_cmds[] = {
-       { 'f', ao_storage_info, "f                                  Show storage info" },
-       { 'e', ao_storage_dump, "e <block>                          Dump a block of flash data" },
-       { 'w', ao_storage_store,"w <block> <start> <len> <data> ... Write data to flash" },
-       { 'z', ao_storage_zap,  "z <block>                          Erase flash containing <block>" },
-       { 0,   ao_storage_zap, NULL },
+       { ao_storage_info, "f\0Show storage" },
+       { ao_storage_dump, "e <block>\0Dump flash" },
+#ifdef HAS_STORAGE_DBG
+       { ao_storage_store, "w <block> <start> <len> <data> ...\0Write data to flash" },
+#endif
+       { ao_storage_zap, "z <block>\0Erase <block>" },
+       { ao_storage_zapall,"Z <key>\0Erase all. <key> is doit with D&I" },
+       { 0, NULL },
 };
 
 void