Compare commits

..

No commits in common. "f0182fdb20edd7258ef8748cfbc5cdd5865682c6" and "0f54a0bde36d11754c89927d2a3fa46267f90913" have entirely different histories.

2 changed files with 26 additions and 32 deletions

View file

@ -70,9 +70,6 @@ chaos.hex: chaos.eeprom
%.lfuse:
$(AD) -B 5 -U lfuse:w:$(lfuse_$*):m
%.id:
$(AD) -B 5 -U lfuse:v:$(lfuse_$*):m
clean:
rm -f *.hex *.o *.s *.map *.elf *.d
@ -81,7 +78,7 @@ lcd_CFLAGS = -I. -DDEBUG
lcd.o: lcd.c spi_slave.h lcd_routines.h lcd_routines.c uart_atmega16.c
.PHONY: eeprom.eeprom
%.eeprom.eeprom: %.hex
eeprom.eeprom:
$(AD) -U eeprom:r:$@
%.eeprom.burn: %.eeprom
$(AD) -U eeprom:v:$< || $(AD) -U eeprom:w:$<

View file

@ -127,7 +127,20 @@ struct conf {
unsigned char hvosc_freq;
unsigned char hvosc_dc;
unsigned char padding[3];
} conf;
} conf = {
.magic = MAGIC,
.version = VERSION,
.wdt_timeout = 120, // 2 min
.tick_period = TICK_NS(10000000L), // 10ms ramp
.avradc = 0x7f, // off
.adcconf = 0x8500,// RST
.ddrc = 2, // OC1B HVOSC
.adcgain = ADC_GAINS,
.auxadc_n = 4,
.hvadc_ch = 1,
.hvadc_n = 4,
.hvadc_safe = 0x8100,
};
enum {
FLAG_WDT = 1,
@ -144,41 +157,8 @@ enum {
};
__attribute__((section(".eeprom")))
const struct conf runconf[] = {
[0] = { // Default
.magic = MAGIC,
.version = VERSION,
.wdt_timeout = 120, // 2 min
.tick_period = TICK_NS(10000000L), // 10ms ramp
.avradc = 0x7f, // off
.adcconf = 0x8500,// RST
.ddrc = 2, // OC1B HVOSC
.adcgain = ADC_GAINS,
.auxadc_n = 4,
.hvadc_ch = 1,
.hvadc_n = 4,
.hvadc_safe = 0x8100,
},
[1] = { // ON
.magic = MAGIC,
.version = VERSION,
.flags = FLAG_WDT | FLAG_RAMP | FLAG_ADCCONF | FLAG_DACADC,
.flags2 = FLAG2_HVOSC | FLAG2_HVLED,
.wdt_timeout = 120, // 2 min
.tick_period = TICK_NS(10000000L), // 10ms ramp
.avradc = 0x7f, // off
.adcconf = 0x8500,// RST
.adcgain = ADC_GAINS,
.auxadc_n = 4,
.hvadc_ch = 1,
.hvadc_n = 4,
.hvadc_safe = 0x8100,
.ddrc = 2, // OC1B HVOSC
.hvosc_freq = 64,
.hvosc_dc = 19,
.dac_nominal = 100,
},
[2] = { // SAFE
const struct conf runconf[2] = {
[0] = { // SAFE
.magic = MAGIC,
.version = VERSION,
.safe = 1,
@ -198,6 +178,25 @@ const struct conf runconf[] = {
.hvosc_dc = 0,
.dac_nominal = 0,
},
[1] = { // ON
.magic = MAGIC,
.version = VERSION,
.flags = FLAG_WDT | FLAG_RAMP | FLAG_ADCCONF | FLAG_DACADC,
.flags2 = FLAG2_HVOSC | FLAG2_HVLED,
.wdt_timeout = 120, // 2 min
.tick_period = TICK_NS(10000000L), // 10ms ramp
.avradc = 0x7f, // off
.adcconf = 0x8500,// RST
.adcgain = ADC_GAINS,
.auxadc_n = 4,
.hvadc_ch = 1,
.hvadc_n = 4,
.hvadc_safe = 0x8100,
.ddrc = 2, // OC1B HVOSC
.hvosc_freq = 64,
.hvosc_dc = 19,
.dac_nominal = 100,
}
};
void conf_init()
@ -294,9 +293,7 @@ int main()
ads8688_init();
ltc1655_init();
hv_safe();
eeprom_load(0);
if (conf.magic == MAGIC || conf.version == VERSION)
conf_init();
conf_init();
while (1) {
unsigned char cmd[3];
unsigned char resp[3];