Compare commits
2 commits
0f54a0bde3
...
f0182fdb20
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f0182fdb20 | ||
|
|
9142aafa3a |
2 changed files with 32 additions and 26 deletions
5
Makefile
5
Makefile
|
|
@ -70,6 +70,9 @@ 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
|
||||
|
||||
|
|
@ -78,7 +81,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:
|
||||
%.eeprom.eeprom: %.hex
|
||||
$(AD) -U eeprom:r:$@
|
||||
%.eeprom.burn: %.eeprom
|
||||
$(AD) -U eeprom:v:$< || $(AD) -U eeprom:w:$<
|
||||
|
|
|
|||
|
|
@ -127,20 +127,7 @@ struct conf {
|
|||
unsigned char hvosc_freq;
|
||||
unsigned char hvosc_dc;
|
||||
unsigned char padding[3];
|
||||
} 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,
|
||||
};
|
||||
} conf;
|
||||
|
||||
enum {
|
||||
FLAG_WDT = 1,
|
||||
|
|
@ -157,26 +144,20 @@ enum {
|
|||
};
|
||||
|
||||
__attribute__((section(".eeprom")))
|
||||
const struct conf runconf[2] = {
|
||||
[0] = { // SAFE
|
||||
const struct conf runconf[] = {
|
||||
[0] = { // Default
|
||||
.magic = MAGIC,
|
||||
.version = VERSION,
|
||||
.safe = 1,
|
||||
.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
|
||||
.ddrc = 2, // OC1B HVOSC
|
||||
.adcgain = ADC_GAINS,
|
||||
.auxadc_n = 4,
|
||||
.hvadc_ch = 1,
|
||||
.hvadc_n = 4,
|
||||
.hvadc_safe = 0x8100,
|
||||
.ddrc = 2, // OC1B HVOSC
|
||||
.hvosc_freq = 0,
|
||||
.hvosc_dc = 0,
|
||||
.dac_nominal = 0,
|
||||
},
|
||||
[1] = { // ON
|
||||
.magic = MAGIC,
|
||||
|
|
@ -196,7 +177,27 @@ const struct conf runconf[2] = {
|
|||
.hvosc_freq = 64,
|
||||
.hvosc_dc = 19,
|
||||
.dac_nominal = 100,
|
||||
}
|
||||
},
|
||||
[2] = { // SAFE
|
||||
.magic = MAGIC,
|
||||
.version = VERSION,
|
||||
.safe = 1,
|
||||
.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 = 0,
|
||||
.hvosc_dc = 0,
|
||||
.dac_nominal = 0,
|
||||
},
|
||||
};
|
||||
|
||||
void conf_init()
|
||||
|
|
@ -293,6 +294,8 @@ int main()
|
|||
ads8688_init();
|
||||
ltc1655_init();
|
||||
hv_safe();
|
||||
eeprom_load(0);
|
||||
if (conf.magic == MAGIC || conf.version == VERSION)
|
||||
conf_init();
|
||||
while (1) {
|
||||
unsigned char cmd[3];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue