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:
|
%.lfuse:
|
||||||
$(AD) -B 5 -U lfuse:w:$(lfuse_$*):m
|
$(AD) -B 5 -U lfuse:w:$(lfuse_$*):m
|
||||||
|
|
||||||
|
%.id:
|
||||||
|
$(AD) -B 5 -U lfuse:v:$(lfuse_$*):m
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *.hex *.o *.s *.map *.elf *.d
|
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
|
lcd.o: lcd.c spi_slave.h lcd_routines.h lcd_routines.c uart_atmega16.c
|
||||||
|
|
||||||
.PHONY: eeprom.eeprom
|
.PHONY: eeprom.eeprom
|
||||||
eeprom.eeprom:
|
%.eeprom.eeprom: %.hex
|
||||||
$(AD) -U eeprom:r:$@
|
$(AD) -U eeprom:r:$@
|
||||||
%.eeprom.burn: %.eeprom
|
%.eeprom.burn: %.eeprom
|
||||||
$(AD) -U eeprom:v:$< || $(AD) -U eeprom:w:$<
|
$(AD) -U eeprom:v:$< || $(AD) -U eeprom:w:$<
|
||||||
|
|
|
||||||
|
|
@ -127,20 +127,7 @@ struct conf {
|
||||||
unsigned char hvosc_freq;
|
unsigned char hvosc_freq;
|
||||||
unsigned char hvosc_dc;
|
unsigned char hvosc_dc;
|
||||||
unsigned char padding[3];
|
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 {
|
enum {
|
||||||
FLAG_WDT = 1,
|
FLAG_WDT = 1,
|
||||||
|
|
@ -157,26 +144,20 @@ enum {
|
||||||
};
|
};
|
||||||
|
|
||||||
__attribute__((section(".eeprom")))
|
__attribute__((section(".eeprom")))
|
||||||
const struct conf runconf[2] = {
|
const struct conf runconf[] = {
|
||||||
[0] = { // SAFE
|
[0] = { // Default
|
||||||
.magic = MAGIC,
|
.magic = MAGIC,
|
||||||
.version = VERSION,
|
.version = VERSION,
|
||||||
.safe = 1,
|
|
||||||
.flags = FLAG_WDT | FLAG_RAMP | FLAG_ADCCONF | FLAG_DACADC,
|
|
||||||
.flags2 = FLAG2_HVOSC | FLAG2_HVLED,
|
|
||||||
.wdt_timeout = 120, // 2 min
|
.wdt_timeout = 120, // 2 min
|
||||||
.tick_period = TICK_NS(10000000L), // 10ms ramp
|
.tick_period = TICK_NS(10000000L), // 10ms ramp
|
||||||
.avradc = 0x7f, // off
|
.avradc = 0x7f, // off
|
||||||
.adcconf = 0x8500,// RST
|
.adcconf = 0x8500,// RST
|
||||||
|
.ddrc = 2, // OC1B HVOSC
|
||||||
.adcgain = ADC_GAINS,
|
.adcgain = ADC_GAINS,
|
||||||
.auxadc_n = 4,
|
.auxadc_n = 4,
|
||||||
.hvadc_ch = 1,
|
.hvadc_ch = 1,
|
||||||
.hvadc_n = 4,
|
.hvadc_n = 4,
|
||||||
.hvadc_safe = 0x8100,
|
.hvadc_safe = 0x8100,
|
||||||
.ddrc = 2, // OC1B HVOSC
|
|
||||||
.hvosc_freq = 0,
|
|
||||||
.hvosc_dc = 0,
|
|
||||||
.dac_nominal = 0,
|
|
||||||
},
|
},
|
||||||
[1] = { // ON
|
[1] = { // ON
|
||||||
.magic = MAGIC,
|
.magic = MAGIC,
|
||||||
|
|
@ -196,7 +177,27 @@ const struct conf runconf[2] = {
|
||||||
.hvosc_freq = 64,
|
.hvosc_freq = 64,
|
||||||
.hvosc_dc = 19,
|
.hvosc_dc = 19,
|
||||||
.dac_nominal = 100,
|
.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()
|
void conf_init()
|
||||||
|
|
@ -293,7 +294,9 @@ int main()
|
||||||
ads8688_init();
|
ads8688_init();
|
||||||
ltc1655_init();
|
ltc1655_init();
|
||||||
hv_safe();
|
hv_safe();
|
||||||
conf_init();
|
eeprom_load(0);
|
||||||
|
if (conf.magic == MAGIC || conf.version == VERSION)
|
||||||
|
conf_init();
|
||||||
while (1) {
|
while (1) {
|
||||||
unsigned char cmd[3];
|
unsigned char cmd[3];
|
||||||
unsigned char resp[3];
|
unsigned char resp[3];
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue