From: Philipp Klaus Date: Fri, 2 Jun 2017 11:35:40 +0000 (+0200) Subject: Pt100: new command to read EEPROM values X-Git-Url: https://jspc29.x-matter.uni-frankfurt.de/git/?a=commitdiff_plain;h=d26f1d6cc08df3b531a9f4d56222d5a1c1b410e3;p=avr.git Pt100: new command to read EEPROM values --- diff --git a/pt100/uart.c b/pt100/uart.c index 8deb8d9..029cb33 100644 --- a/pt100/uart.c +++ b/pt100/uart.c @@ -11,9 +11,11 @@ //ATb800XXXX -- Temperature given by ADC //AIb0FFFFCC -- Firmware version & connected channels (bitmask) in last byte //AVb000XXXX -- AVCC from ADC channel 3, in mV +//AGb0AAXXXX -- EEPROM content (uint16) at address AA*2 //Commands sent by user -//WEb0AAXXXX -- write int16 to eeprom at address AA*2 +//WEb0AAXXXX -- write uint16 to eeprom at address AA*2 +//WGb0AA0000 -- read uint16 from eeprom at address AA*2 //WRb0000000 -- reload eeprom data //WCb000XXXX -- control register, t.b.d. @@ -120,6 +122,11 @@ ISR(USART0_RX_vect) { uint8_t addr = hex_to_byte(rxbuf+4); eeprom_write(addr, (((uint16_t)hex_to_byte(rxbuf+6))<<8) | hex_to_byte(rxbuf+8)); } + else if(rxbuf[1] == 'G') { + uint8_t addr = hex_to_byte(rxbuf+4); + uint16_t data = eeprom_read(addr); + send_answer_hex('G', '0', ((uint32_t)addr << 16) | data); + } else if(rxbuf[1] == 'C') { control_reg = (hex_to_byte(rxbuf+6)<<8) | hex_to_byte(rxbuf+8); }