summaryrefslogtreecommitdiff
path: root/n/asserv/src/asserv/eeprom.avr.c
diff options
context:
space:
mode:
Diffstat (limited to 'n/asserv/src/asserv/eeprom.avr.c')
-rw-r--r--n/asserv/src/asserv/eeprom.avr.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/n/asserv/src/asserv/eeprom.avr.c b/n/asserv/src/asserv/eeprom.avr.c
index 671e0e6..0ef63a0 100644
--- a/n/asserv/src/asserv/eeprom.avr.c
+++ b/n/asserv/src/asserv/eeprom.avr.c
@@ -24,7 +24,7 @@
* }}} */
#include <avr/eeprom.h>
-#define EEPROM_KEY 0x42
+#define EEPROM_KEY 0x43
#define EEPROM_START 256
/* +AutoDec */
@@ -34,10 +34,12 @@
static void
eeprom_read_params (void)
{
- uint8_t *p8 = EEPROM_START;
+ uint8_t *p8 = (uint8_t *) EEPROM_START;
uint16_t *p16;
if (eeprom_read_byte (p8++) != EEPROM_KEY)
return;
+ speed_theta_max = eeprom_read_byte (p8++);
+ speed_alpha_max = eeprom_read_byte (p8++);
pwm_dir = eeprom_read_byte (p8++);
p16 = (uint16_t *) p8;
postrack_set_footing (eeprom_read_word (p16++));
@@ -57,9 +59,11 @@ eeprom_read_params (void)
static void
eeprom_write_params (void)
{
- uint8_t *p8 = EEPROM_START;
+ uint8_t *p8 = (uint8_t *) EEPROM_START;
uint16_t *p16;
eeprom_write_byte (p8++, EEPROM_KEY);
+ eeprom_write_byte (p8++, speed_theta_max);
+ eeprom_write_byte (p8++, speed_alpha_max);
eeprom_write_byte (p8++, pwm_dir);
p16 = (uint16_t *) p8;
eeprom_write_word (p16++, postrack_footing);
@@ -79,7 +83,7 @@ eeprom_write_params (void)
static void
eeprom_clear_params (void)
{
- uint8_t *p = EEPROM_START;
+ uint8_t *p = (uint8_t *) EEPROM_START;
eeprom_write_byte (p, 0xff);
}