Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 768 → Rev 771

/C-OSD/C-Strom/trunk/C-Strom.aps
0,0 → 1,0
<AVRStudio><MANAGEMENT><ProjectName>C-Strom</ProjectName><Created>14-May-2009 23:11:20</Created><LastEdit>03-Nov-2009 21:39:30</LastEdit><ICON>241</ICON><ProjectType>0</ProjectType><Created>14-May-2009 23:11:20</Created><Version>4</Version><Build>4, 16, 0, 626</Build><ProjectTypeName>AVR GCC</ProjectTypeName></MANAGEMENT><CODE_CREATION><ObjectFile>default\C-Strom.elf</ObjectFile><EntryFile></EntryFile><SaveFolder>G:\Eigene Dateien\C-Projects\C-Strom\</SaveFolder></CODE_CREATION><DEBUG_TARGET><CURRENT_TARGET>AVR Simulator</CURRENT_TARGET><CURRENT_PART>ATmega8.xml</CURRENT_PART><BREAKPOINTS></BREAKPOINTS><IO_EXPAND><HIDE>false</HIDE></IO_EXPAND><REGISTERNAMES><Register>R00</Register><Register>R01</Register><Register>R02</Register><Register>R03</Register><Register>R04</Register><Register>R05</Register><Register>R06</Register><Register>R07</Register><Register>R08</Register><Register>R09</Register><Register>R10</Register><Register>R11</Register><Register>R12</Register><Register>R13</Register><Register>R14</Register><Register>R15</Register><Register>R16</Register><Register>R17</Register><Register>R18</Register><Register>R19</Register><Register>R20</Register><Register>R21</Register><Register>R22</Register><Register>R23</Register><Register>R24</Register><Register>R25</Register><Register>R26</Register><Register>R27</Register><Register>R28</Register><Register>R29</Register><Register>R30</Register><Register>R31</Register></REGISTERNAMES><COM>Auto</COM><COMType>0</COMType><WATCHNUM>0</WATCHNUM><WATCHNAMES><Pane0></Pane0><Pane1></Pane1><Pane2></Pane2><Pane3></Pane3></WATCHNAMES><BreakOnTrcaeFull>0</BreakOnTrcaeFull></DEBUG_TARGET><Debugger><modules><module></module></modules><Triggers></Triggers></Debugger><AVRGCCPLUGIN><FILES><SOURCEFILE>C-Strom.c</SOURCEFILE><SOURCEFILE>i2c_slave.c</SOURCEFILE><HEADERFILE>C-Strom.h</HEADERFILE><HEADERFILE>i2c_slave.h</HEADERFILE><HEADERFILE>spi_union.h</HEADERFILE><OTHERFILE>default\C-Strom.lss</OTHERFILE><OTHERFILE>default\C-Strom.map</OTHERFILE></FILES><CONFIGS><CONFIG><NAME>default</NAME><USESEXTERNALMAKEFILE>NO</USESEXTERNALMAKEFILE><EXTERNALMAKEFILE></EXTERNALMAKEFILE><PART>atmega8</PART><HEX>1</HEX><LIST>1</LIST><MAP>1</MAP><OUTPUTFILENAME>C-Strom.elf</OUTPUTFILENAME><OUTPUTDIR>default\</OUTPUTDIR><ISDIRTY>1</ISDIRTY><OPTIONS/><INCDIRS/><LIBDIRS/><LIBS/><LINKOBJECTS/><OPTIONSFORALL>-Wall -gdwarf-2 -std=gnu99 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums</OPTIONSFORALL><LINKEROPTIONS></LINKEROPTIONS><SEGMENTS/></CONFIG></CONFIGS><LASTCONFIG>default</LASTCONFIG><USES_WINAVR>1</USES_WINAVR><GCC_LOC>C:\WinAVR\bin\avr-gcc.exe</GCC_LOC><MAKE_LOC>C:\WinAVR\utils\bin\make.exe</MAKE_LOC></AVRGCCPLUGIN><IOView><usergroups/><sort sorted="0" column="0" ordername="1" orderaddress="0" ordergroup="1"/></IOView><Files><File00000><FileId>00000</FileId><FileName>C-Strom.c</FileName><Status>257</Status></File00000><File00001><FileId>00001</FileId><FileName>C-Strom.h</FileName><Status>1</Status></File00001><File00002><FileId>00002</FileId><FileName>i2c_slave.h</FileName><Status>257</Status></File00002><File00003><FileId>00003</FileId><FileName>spi_union.h</FileName><Status>257</Status></File00003><File00004><FileId>00004</FileId><FileName>i2c_slave.c</FileName><Status>257</Status></File00004></Files><Events><Bookmarks></Bookmarks></Events><Trace><Filters></Filters></Trace></AVRStudio>
/C-OSD/C-Strom/trunk/C-Strom.c
0,0 → 1,628
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-strom/ *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* *
* Thanks to: *
* Klaus "akku" Buettner for the hardware *
* All people at http://www.rn-wissen.de especially for the i2c stuff *
* *
****************************************************************************/
 
#include <avr/io.h>
#include <avr/eeprom.h>
#include <avr/pgmspace.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <stdlib.h>
#include <string.h>
#include "C-Strom.h"
#include "spi_union.h"
#include "i2c_slave.h"
 
uint8_t EEMEM ee_checkbyte1 = CHECKBYTE1;
uint8_t EEMEM ee_checkbyte2 = CHECKBYTE2;
uint16_t EEMEM ee_cal_ampere = 512;
uint8_t EEMEM ee_sensor = 50;
uint8_t EEMEM ee_prim_r1 = 47, ee_prim_r2 = 150;
uint8_t EEMEM ee_anin_r1 = 47, ee_anin_r2 = 150;
uint8_t EEMEM ee_config = 0;
 
volatile uint8_t CSTROM_FLAGS = 0;
volatile uint8_t CSTROM_CONFIG = 0;
 
// we could use ee_cal_ampere but eeprom is slow :)
volatile uint16_t cal_ampere = 512;
volatile uint8_t sensor = 50;
volatile uint8_t prim_r1 = 47, prim_r2 = 150;
volatile uint8_t anin_r1 = 47, anin_r2 = 150;
volatile int16_t ampere, volt, anin_volt, transfer_ampere;
volatile int32_t transfer_mah, mah;
volatile int16_t average_ampere = 0;
volatile uint8_t hwver = 10;
// global space for int conversion to string
char s[10];
 
// spi buffer
union SPI_buffer_t SPI_buffer;
 
// PD7 High
void PD7_H() {
PORTD |= (1 << PD7);
}
 
// PD7 Low
void PD7_L() {
PORTD &= ~(1 << PD7);
}
 
void (*LED_ON)(void) = PD7_H;
void (*LED_OFF)(void) = PD7_L;
 
 
void ampere_calibrate();
void save_eeprom();
void help(uint8_t);
 
/*ISR(__vector_default) {
asm("nop");
}*/
 
/**
* decimal itoa for 10th values
*/
char *itoa_dec(int val, char* s) {
itoa(val, s, 10);
//char x = 0;
for (uint8_t i = 0; i < 9; i++) {
if (s[i] == 0 && i > 0) {
if (i == 1) {
s[i+1] = s[i-1];
s[i-1] = '0';
s[i] = '.';
s[i+2] = 0;
} else {
s[i] = s[i-1];
s[i-1] = '.';
s[i+1] = 0;
}
break;
}
}
return s;
}
 
/**
* init uart
*/
void uart_init() {
UBRRL = (F_CPU / (16UL * BAUD_RATE)) - 1;
 
// Enable receiver and transmitter; enable RX interrupt
UCSRB = (1 << RXEN) | (1 << TXEN) | (1 << RXCIE);
 
//asynchronous 8N1
UCSRC = (1 << URSEL) | (3 << UCSZ0);
}
 
/**
* send a single <character> through uart
*/
void uart_putc(unsigned char character) {
// wait until UDR ready
while (!(UCSRA & (1 << UDRE)));
UDR = character;
}
 
/**
* send a <string> throught uart
*/
void uart_puts(char *s) {
while (*s) {
uart_putc(*s);
s++;
}
}
 
/**
* send a <string> from pgm space throught uart
*/
void uart_puts_pgm(char *string) {
while (pgm_read_byte(string) != 0x00)
uart_putc(pgm_read_byte(string++));
}
 
/**
* change the sensor type
*/
void sensor_change(uint8_t new_value) {
if (new_value < 10) new_value = 0;
else if (new_value > 250) new_value = 250;
sensor = new_value;
uart_puts_pgm(PSTR("\r\nSensor is now: "));
uart_puts(itoa(sensor, s, 10));
uart_puts("A\r\n");
}
 
/**
* change the r2 value
*/
void r2_change(uint8_t which, uint8_t new_value) {
if (which == V_ANIN) {
uart_puts_pgm(PSTR("\r\nANIN R2 is now: "));
anin_r2 = new_value;
uart_puts(itoa_dec(anin_r2, s));
} else {
uart_puts_pgm(PSTR("\r\nPRIMARY R2 is now: "));
prim_r2 = new_value;
uart_puts(itoa_dec(prim_r2, s));
}
uart_puts_pgm(PSTR("kOhm\r\n"));
}
 
/**
* enable/disable TWI
*/
void twi_change() {
uart_puts_pgm(PSTR("\r\nTWI turned "));
if (CSTROM_CONFIG & CSTROM_TWI) {
uart_puts_pgm(PSTR("ON"));
} else {
uart_puts_pgm(PSTR("OFF"));
}
uart_puts_pgm(PSTR(". Please restart...\r\n"));
}
 
 
 
 
/**
* Interrupt handler for received data through UART1
*/
SIGNAL(SIG_UART_RECV) {
unsigned char c = UDR;
switch (c) {
case 'c':
ampere_calibrate();
break;
case 's':
save_eeprom();
break;
case '+':
sensor_change(100);
break;
case '-':
sensor_change(50);
break;
case 'e':
if (hwver == 11) r2_change(V_ANIN, anin_r2 + 1);
break;
case 'd':
if (hwver == 11) r2_change(V_ANIN, anin_r2 - 1);
break;
case 'r':
r2_change(V_PRIMARY, prim_r2 + 1);
break;
case 'f':
r2_change(V_PRIMARY, prim_r2 - 1);
break;
case 'T':
CSTROM_CONFIG ^= CSTROM_TWI;
twi_change();
break;
case 'h':
help(0);
break;
default:
asm("nop"); // :-)
}
}
 
/**
* Interrupt handler for transmitting data through UART1
*/
SIGNAL(SIG_UART_TRANS) {
}
 
/**
* Read out the ADC channel <channel>
*/
uint16_t readADC(uint8_t channel) {
uint8_t i;
uint16_t result = 0;
 
// enable ADC and set clk div to 64
ADCSRA = (1<<ADEN) | (1<<ADPS2) | (1<<ADPS1);
 
_delay_us(5);
 
// set up channel
ADMUX = channel;
// use internal reference
//ADMUX |= (1<<REFS1) | (1<<REFS0);
 
// init ADC for a dummy readout
ADCSRA |= (1<<ADSC);
// wait for conversion to be complete
while(ADCSRA & (1<<ADSC));
 
// read in three times and get the average
for(i=0; i<3; i++) {
// start conversion
ADCSRA |= (1<<ADSC);
 
// wait for conversion to be complete
while(ADCSRA & (1<<ADSC));
 
// add up result
result += ADCW;
}
 
// disable ADC
ADCSRA &= ~(1<<ADEN);
 
// get average
result /= 3;
 
return result;
}
 
 
/**
* init SPI slave interrupt conrolled
*/
void Init_Slave_IntContr (void) {
volatile char IOReg;
// Set PB4(MISO) as output
DDRB = (1<<PB4);
// MOSI Pullup
PORTB |= _BV(3);
// Enable SPI Interrupt and SPI in Slave Mode
SPCR = (1<<SPIE)|(1<<SPE);
IOReg = SPSR; // Clear SPIF bit in SPSR
IOReg = SPDR;
SPCR |= _BV(SPIE); // duplicated
}
 
 
 
/**
* SPI interrupt handling
*/
ISR(SPI_STC_vect) {
LED_ON();
 
unsigned char foo;
foo = SPDR;
//uart_putc(foo);
switch (foo) {
case 'A': // requested ampere high bits for next transmission
CSTROM_FLAGS |= CSTROM_SPILOCKED;
foo = SPI_buffer.buffer.c[0];
break;
case 'B': // requested low bits
foo = SPI_buffer.buffer.c[1];
break;
case 'C': // wasted ampere high bits in next
foo = SPI_buffer.buffer.c[2];
break;
case 'D': // 2nd highest 8bits
foo = SPI_buffer.buffer.c[3];
break;
case 'E': // 3rd highest 8bits
foo = SPI_buffer.buffer.c[4];
break;
case 'F': // lowest 8bits
foo = SPI_buffer.buffer.c[5];
break;
case 'G': // lowest 8bits
foo = SPI_buffer.buffer.c[6];
break;
case 'H': // lowest 8bits
foo = SPI_buffer.buffer.c[7];
break;
case 'I': // challange over
foo = 'd'; // done :)
CSTROM_FLAGS &= ~CSTROM_SPILOCKED;
break;
default: // what else? nothin now
foo = 'X';
}
// write back foo in next transmission
SPDR = foo;
 
//uart_putc(foo);
 
LED_OFF();
}
 
/**
* read data saved in eeprom
*/
void get_eeprom() {
if (eeprom_read_byte(&ee_checkbyte1) == CHECKBYTE1 && eeprom_read_byte(&ee_checkbyte2) == CHECKBYTE2) {
uart_puts("\tLoading data from eeprom...");
sensor = eeprom_read_byte(&ee_sensor);
cal_ampere = eeprom_read_word(&ee_cal_ampere);
anin_r1 = eeprom_read_byte(&ee_anin_r1);
anin_r2 = eeprom_read_byte(&ee_anin_r2);
prim_r1 = eeprom_read_byte(&ee_prim_r1);
prim_r2 = eeprom_read_byte(&ee_prim_r2);
CSTROM_CONFIG = eeprom_read_byte(&ee_config);
uart_puts("done\r\n");
} else {
uart_puts("\tNo data found in eeprom, using default data...\r\n");
}
}
 
/**
* save data to eeprom
*/
void save_eeprom() {
uart_puts("\r\nSaving data to eeprom...");
eeprom_write_byte(&ee_checkbyte1, CHECKBYTE1);
eeprom_write_byte(&ee_checkbyte2, CHECKBYTE2);
eeprom_write_byte(&ee_sensor, sensor);
eeprom_write_word(&ee_cal_ampere, cal_ampere);
//if (hwver == 11) {
// why not saving when not needed, there is space
eeprom_write_byte(&ee_anin_r1, anin_r1);
eeprom_write_byte(&ee_anin_r2, anin_r2);
//}
eeprom_write_byte(&ee_prim_r1, prim_r1);
eeprom_write_byte(&ee_prim_r2, prim_r2);
eeprom_write_byte(&ee_config, CSTROM_CONFIG);
uart_puts("done\r\n");
}
 
/**
* calibrate the current sensor... has to be 0A during this time!
*/
void ampere_calibrate() {
cli();
uart_puts("\r\nCalibrating...");
uint16_t temp_cal = 0;
for (uint8_t i = 0; i < 10; i++) {
temp_cal += readADC(0);
uart_puts("#");
_delay_ms(100);
}
cal_ampere = temp_cal / 10;
uart_puts("done. Offset is now: ");
uart_puts(itoa(cal_ampere, s, 10));
uart_puts("\r\n");
sei();
}
 
 
volatile uint16_t timer = 0, cs = 0;
/**
* init timer0
*/
void init_timer0(void){
// set up timer
TCCR0 |= (1 << CS00) | (1 << CS01); // timer0 prescaler 64
TIMSK |= (1 << TOIE0); // enable overflow timer0
}
 
/**
* timer overflow handler, should be 1ms
*/
SIGNAL(SIG_OVERFLOW0) {
TCNT0 = 131; // preload
timer++;
// this should be 100ms
if (timer == 100) {
timer = 0;
cs++;
average_ampere += ampere;
CSTROM_FLAGS |= CSTROM_WRITEUART;
}
// this should be 1s
if (cs == 10) {
cs = 0;
mah += average_ampere / 360;
average_ampere = 0;
}
}
 
/**
* write <len> through uart spaces
*/
void write_space(uint8_t len) {
while (len--) {
uart_putc(' ');
}
}
 
 
 
/**
* check which hardware version we have here
*/
void check_hw() {
// check if pin was output and has pullup
uint8_t old_DDRD7 = DDRD & (1 << PD7);
uint8_t old_PORTD7 = PORTD & (1 << PD7);
 
// if it was, make it input
if (old_DDRD7) DDRD &= ~(1 << PD7); // PD7 input (LED)
if (!old_PORTD7) PORTD |= (1 << PD7); // PD7 enable pullup (LED)
 
if (PIND & (1 << PD7)) {
hwver = 11;
LED_ON = PD7_L;
LED_OFF = PD7_H;
}
// output again
if (!old_PORTD7) PORTD &= ~(1 << PD7); // PD7 disable pullup (LED)
if (old_DDRD7) DDRD |= (1 << PD7); // PD7 output (LED)
}
 
 
/**
* call for help whenever needed
*/
void help(uint8_t load) {
uart_puts_pgm(PSTR("\r\nC-STROM\r\n\tBUILD: "));
uart_puts_pgm(PSTR(BUILDDATE));
uart_puts("\r\n\tHW: ");
uart_puts(itoa_dec(hwver, s));
 
uart_puts("\r\n");
 
if (load) get_eeprom();
uart_puts_pgm(PSTR("\tSensor: "));
uart_puts(itoa(sensor, s, 10));
uart_puts_pgm(PSTR("A\tCalibration: "));
uart_puts(itoa(cal_ampere, s, 10));
 
uart_puts_pgm(PSTR("\r\n\tTWI is "));
if (CSTROM_CONFIG & CSTROM_TWI) {
uart_puts_pgm(PSTR("ON, SPI may not work!!!"));
} else {
uart_puts_pgm(PSTR("OFF"));
}
 
 
uart_puts_pgm(PSTR("\r\n\tPIMARY R2: "));
uart_puts(itoa_dec(prim_r2, s));
if (hwver == 11) {
uart_puts_pgm(PSTR("kOhm"));
uart_puts_pgm(PSTR("\tANIN R2: "));
uart_puts(itoa_dec(anin_r2, s));
}
uart_puts_pgm(PSTR("kOhm\r\n"));
 
uart_puts_pgm(PSTR("\tCommands available:\r\n"));
uart_puts_pgm(PSTR("\t\th : help on commands (this)\r\n"));
uart_puts_pgm(PSTR("\t\tc : calibrate ampere\r\n"));
uart_puts_pgm(PSTR("\t\tT : toggle TWI (may break SPI communication!)\r\n"));
uart_puts_pgm(PSTR("\t\t+/- : to change sensor\r\n"));
uart_puts_pgm(PSTR("\t\tr/f : to change PRIMARY-R2 Value\r\n"));
if (hwver == 11) {
uart_puts_pgm(PSTR("\t\te/d : to change ANIN-R2 Value\r\n"));
}
uart_puts_pgm(PSTR("\t\ts : save values\r\n"));
uart_puts_pgm(PSTR("\tnow enjoy it and have fun...\r\n\r\n"));
}
 
 
/**
* Main
*/
int main (void) {
DDRD |= (1 << PD7); // PD7 output (LED)
 
check_hw();
uart_init();
Init_Slave_IntContr();
init_timer0();
 
sei(); // Enable Global Interrupts
 
uart_puts("\x1B[2J\x1B[H"); // clear serial
 
help(1);
 
if (CSTROM_CONFIG & CSTROM_TWI) init_twi_slave(CSTROM_I2C);
 
int16_t raw_volt = 0, raw_ampere = 0, raw_aninvolt = 0;
char c[10] = " ";
c[9] = 0;
 
//strom_data = *((SPI_strom_data_t*) &spi_buffer);
//*spi_buffer = *((uint8_t*) (void*) &strom_data);
 
LED_ON();
 
while (1) { // Loop Forever
 
// we have got a normal voltage measuring circuit that takes the lipo-voltage
raw_volt = readADC(1);
/* according to what i read about voltage divider it is
Uo = Ue * (R1 / (R2 + R1))
Ue = Uo * (R2 + R1) / R1
the board has got r1 = 4.7k and r2 = 15k
but since 1step is 0,0048828125V = 4,8828125mV and not 5mV there
is some conversion to do for raw_volt --**-> Uo
this should end up in 10th of volts */
raw_volt = ((uint32_t)raw_volt * (uint32_t)48828) / (uint32_t)10000;
volt = (int16_t) (((uint32_t)raw_volt * (uint32_t)(prim_r1 + prim_r2)) / (uint32_t)prim_r1) / 100;
if (volt < 0) volt = 0;
 
// and we have got a seccond voltage measuring circuit for user voltages
raw_aninvolt = readADC(2);
/* some conversion to do for raw_volt --**-> Uo
this should end up in 10th of volts */
raw_aninvolt = ((uint32_t)raw_aninvolt * (uint32_t)48828) / (uint32_t)10000;
anin_volt = (int16_t) (((uint32_t)raw_aninvolt * (uint32_t)(anin_r1 + anin_r2)) / (uint32_t)anin_r1) / 100;
if (anin_volt < 0) anin_volt = 0;
 
raw_ampere = readADC(0);
/* according to datasheet sensitivity is nominal 40mV per A for the 50A chip
this would mean 50A ^= 2V since 0A is set to 2.5V output Voltage we get
a range of 0.5V till 4.5V for the full range.
the atmega ADC features 0...5V range divided into 10bit ^= 1024 steps
so 0,0048828125V, or 4,8828125mV, is one step
this leads us to 0,8192 steps per 0,1A and somehow the below formula
and i know that 32bit is evil, but what else does this device has to do? :)
this should end up in 100th of ampere */
ampere = (int16_t) (((int32_t)(((int16_t)raw_ampere - (int16_t)cal_ampere)) * (int32_t)10000) / (int32_t) 819);
if (sensor == 100) ampere *= 2;
 
if ((CSTROM_FLAGS & CSTROM_WRITEUART)) {
uart_puts("V: ");
uart_puts(itoa_dec(volt, s));
write_space(10-strlen(s));
 
uart_puts("AN-IN V: ");
uart_puts(itoa_dec(anin_volt, s));
write_space(10-strlen(s));
 
uart_puts("A: ");
uart_puts(itoa(ampere, s, 10));
write_space(10-strlen(s));
 
uart_puts("C: ");
uart_puts(itoa(mah, s, 10));
write_space(10-strlen(s));
uart_puts("\r");
CSTROM_FLAGS &= ~CSTROM_WRITEUART;
}
 
//spi_buff
if (!(CSTROM_FLAGS & CSTROM_SPILOCKED)) {
// TESTTING
if (!(CSTROM_CONFIG & CSTROM_TWI)) CSTROM_FLAGS |= CSTROM_SPILOCKED;
SPI_buffer.data.ampere = ampere;
SPI_buffer.data.mah = mah;
if (hwver == 11) {
SPI_buffer.data.volt = anin_volt;
} else {
SPI_buffer.data.volt = volt;
}
}
}
return 0;
}
/C-OSD/C-Strom/trunk/C-Strom.h
0,0 → 1,41
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-strom/ *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
****************************************************************************/
 
#define BAUD_RATE 19200
 
#define CHECKBYTE1 235
#define CHECKBYTE2 158
 
#ifndef BUILDDATE
#define BUILDDATE "20090914-2245" // build date, this is testing...
#endif
 
#define CSTROM_SPILOCKED 1
#define CSTROM_WRITEUART 2
 
#define CSTROM_TWI 1
 
 
#define V_PRIMARY 1
#define V_ANIN 2
 
 
 
 
/C-OSD/C-Strom/trunk/CHANGE.LOG
0,0 → 1,54
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-strom/ *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
****************************************************************************/
20090914-2245
*i2c support default to off, needs to be enabled via serial Terminal
@caused problems with SPI-trasnfers since pins are connected
 
20090914-0200
+i2c support (address 0x20, sample code in README.TXT)
 
20090831-2123
+adjustable voltage divider vor primary voltage measureing
 
20090831-0223
+hardware version detection
+2nd analog voltage measuring for hw 1.1
*for hw 1.1 the voltage transfered via spi is the analog in voltage
+adjustable voltage divider for analog in
 
20090612-2100
*spi transfer now struct driven
*less traffic on serial port
*voltage gets transfered via spi as well
 
20090519-2245
*mah corrected... actually this are 10th of mAh
 
20090519-0115
+mah currently wasted
*some small changes
 
20090518-2045
+calibration support
+load/save calibration
+sensor changeable
 
20090517-2345
+first public .binary release
/C-OSD/C-Strom/trunk/README.TXT
0,0 → 1,48
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-strom/ *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
****************************************************************************/
 
Console listens at 8n1 19200... Commands are explained there...
 
 
#############################################################################
i2c/twi Sample snipplet
// i2c master libary by Peter Fleury used in this example
// http://homepage.hispeed.ch/peterfleury/avr-software.html#libs
 
#define CSTROM_I2C 0x20
i2c_init();
sei();
union SPI_buffer_t SPI_buffer;
// @see http://svn.mikrokopter.de/mikrowebsvn/filedetails.php?repname=Projects&path=%2FC-OSD%2Ftrunk%2Fspi.h
 
if(!(i2c_start(CSTROM_I2C+I2C_WRITE))) { // check for slave ready
i2c_write(0x00); // start with buffer address 0
i2c_rep_start(CSTROM_I2C+I2C_READ); // start reading
for (uint8_t i = 0; i < 9; i++) { // loop through first 9 positions
SPI_buffer.buffer.c[i] = i2c_readAck();
}
SPI_buffer.buffer.c[9] = i2c_readNak(); // last position does not take ACK
i2c_stop();
}
uart_puts(itoa(SPI_buffer.data.volt, s, 10));
uart_puts_pgm(PSTR("V\r\n"));
#############################################################################
/C-OSD/C-Strom/trunk/c-strom.aws
0,0 → 1,0
<AVRWorkspace><IOSettings><CurrentRegisters/></IOSettings><part name="ATMEGA8"/><Files><File00000 Name="G:\Eigene Dateien\C-Projects\C-OSD\C-Strom\trunk\C-Strom.c" Position="465 140 1012 598" LineCol="467 0" State="Maximized"/><File00001 Name="G:\Eigene Dateien\C-Projects\C-OSD\C-Strom\trunk\C-Strom.h" Position="487 162 1026 590" LineCol="13 0" State="Maximized"/><File00002 Name="G:\Eigene Dateien\C-Projects\C-OSD\C-Strom\trunk\i2c_slave.h" Position="509 184 1048 612" LineCol="21 0" State="Maximized"/><File00003 Name="G:\Eigene Dateien\C-Projects\C-OSD\C-Strom\trunk\spi_union.h" Position="531 206 1070 634" LineCol="19 0" State="Maximized"/><File00004 Name="G:\Eigene Dateien\C-Projects\C-OSD\C-Strom\trunk\i2c_slave.c" Position="461 117 1210 774" LineCol="18 0" State="Maximized"/></Files></AVRWorkspace>
/C-OSD/C-Strom/trunk/i2c_slave.c
0,0 → 1,90
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-strom/ *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
****************************************************************************/
 
 
/****************************************************************************
* *
* Most of the i²c/twi code is originally from *
* http://www.rn-wissen.de/index.php/TWI_Slave_mit_avr-gcc *
* *
****************************************************************************/
 
#include <avr/interrupt.h>
#include <util/twi.h>
#include "i2c_slave.h"
#include "spi_union.h"
 
void init_twi_slave(uint8_t address) {
TWAR = address;
TWCR &= ~(1 << TWSTA) | (1 << TWSTO);
TWCR |= (1 << TWEA) | (1 << TWEN) | (1 << TWIE);
i2c_buf_adr = 0xFF;
//sei();
}
 
ISR(TWI_vect) {
uint8_t data = 0;
//PORTD ^= (1 << PD7); // toggle LED for test
switch (TW_STATUS) {
case TW_SR_SLA_ACK: // 0x60 Slave Receiver, wurde adressiert
TWCR_ACK; // next byte received
i2c_buf_adr = 0xFF; // buf_adr undef
break;
case TW_SR_DATA_ACK: // 0x80 Slave Receiver,Daten empfangen
data = TWDR; //Empfangene Daten auslesen
if (i2c_buf_adr == 0xFF) {//erster Zugriff, Bufferposition setzen
if (data <= I2C_BUFFER_SIZE) { //Kontrolle ob gewünschte Adresse im erlaubten bereich
i2c_buf_adr = data; //Bufferposition wie adressiert setzen
} else {
i2c_buf_adr = 0; //Adresse auf Null setzen. Ist das sinnvoll?
}
TWCR_ACK; // nächstes Datenbyte empfangen, ACK danach, um nächstes Byte anzufordern
} else {//weiterer Zugriff, Daten empfangen
i2c_rx_buffer[i2c_buf_adr] = data; //Daten in Buffer schreiben
i2c_buf_adr++; //Buffer-Adresse weiterzählen für nächsten Schreibzugriff
if (i2c_buf_adr < (I2C_BUFFER_SIZE - 1)) {//im Buffer ist noch Platz für mehr als ein Byte
TWCR_ACK; // nächstes Datenbyte empfangen, ACK danach, um nächstes Byte anzufordern
} else {//es kann nur noch ein Byte kommen, dann ist der Buffer voll
TWCR_NACK; //letztes Byte lesen, dann NACK, um vollen Buffer zu signaliseren
}
}
break;
case TW_ST_SLA_ACK: //?!?
case TW_ST_DATA_ACK: //0xB8 Slave Transmitter, weitere Daten wurden angefordert
if (i2c_buf_adr == 0xFF) {//zuvor keine Leseadresse angegeben!
i2c_buf_adr = 0;
}
TWDR = i2c_tx_buffer[i2c_buf_adr]; //Datenbyte senden
i2c_buf_adr++; //bufferadresse für nächstes Byte weiterzählen
if (i2c_buf_adr < (I2C_BUFFER_SIZE - 1)) {//im Buffer ist mehr als ein Byte, das gesendet werden kann
TWCR_ACK; //nächstes Byte senden, danach ACK erwarten
} else {
TWCR_NACK; //letztes Byte senden, danach NACK erwarten
}
break;
case TW_ST_DATA_NACK: //0xC0 Keine Daten mehr gefordert
case TW_SR_DATA_NACK: //0x88
case TW_ST_LAST_DATA: //0xC8 Last data byte in TWDR has been transmitted (TWEA = “0”); ACK has been received
case TW_SR_STOP: // 0xA0 STOP empfangen
default:
TWCR_RESET; //Übertragung beenden, warten bis zur nächsten Adressierung
break;
}
}
/C-OSD/C-Strom/trunk/i2c_slave.h
0,0 → 1,54
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-strom/ *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
****************************************************************************/
 
 
/****************************************************************************
* *
* Most of the i²c/twi code is originally from *
* http://www.rn-wissen.de/index.php/TWI_Slave_mit_avr-gcc *
* *
****************************************************************************/
 
#define I2C_BUFFER_SIZE 10
 
// ACK
#define TWCR_ACK TWCR = (1<<TWEN)|(1<<TWIE)|(1<<TWINT)|(1<<TWEA)|(0<<TWSTA)|(0<<TWSTO)|(0<<TWWC);
// NACK
#define TWCR_NACK TWCR = (1<<TWEN)|(1<<TWIE)|(1<<TWINT)|(0<<TWEA)|(0<<TWSTA)|(0<<TWSTO)|(0<<TWWC);
// non addressed slave mode
#define TWCR_RESET TWCR = (1<<TWEN)|(1<<TWIE)|(1<<TWINT)|(1<<TWEA)|(0<<TWSTA)|(0<<TWSTO)|(0<<TWWC);
 
 
#define CSTROM_I2C 0b00100000 // = 0x20 = 32
 
volatile uint8_t i2c_rx_buffer[I2C_BUFFER_SIZE];
 
// here we use the same for SPI and TWI
extern union SPI_buffer_t SPI_buffer;
#define i2c_tx_buffer SPI_buffer.buffer.c
 
// otherwise take this
//volatile uint8_t i2c_tx_buffer[I2C_BUFFER_SIZE];
 
 
volatile uint8_t i2c_buf_adr;
 
 
void init_twi_slave (uint8_t);
/C-OSD/C-Strom/trunk/sourceLineMap.txt
0,0 → 1,544
Address = 0x00000206 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:196:0:-1
Address = 0x00000208 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:197:0:-1
Address = 0x0000020c File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:201:0:-1
Address = 0x00000210 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:208:0:-1
Address = 0x00000214 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:220:0:-1
Address = 0x00000216 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:299:0:-1
Address = 0x00000218 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:300:0:-1
Address = 0x0000021c File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:311:0:-1
Address = 0x00000220 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:313:0:-1
Address = 0x00000222 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:315:0:-1
Address = 0x0000022c File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:330:0:-1
Address = 0x0000022e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:61:0:-1
Address = 0x0000022e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:62:0:-1
Address = 0x00000230 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:63:0:-1
Address = 0x00000232 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:67:0:-1
Address = 0x00000234 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:68:0:-1
Address = 0x00000236 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:110:0:-1
Address = 0x0000023a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:113:0:-1
Address = 0x0000023e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:116:0:-1
Address = 0x00000242 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:117:0:-1
Address = 0x00000244 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000248 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x0000024a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:126:0:-1
Address = 0x0000024c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:131:0:-1
Address = 0x00000250 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000254 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000256 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x00000258 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x0000025e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:136:0:-1
Address = 0x00000260 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:141:0:-1
Address = 0x00000264 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000268 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:143:0:-1
Address = 0x0000026a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x0000026c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:142:0:-1
Address = 0x00000272 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:144:0:-1
Address = 0x00000274 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:217:0:-1
Address = 0x0000027e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:218:0:-1
Address = 0x00000288 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:228:0:-1
Address = 0x0000028c File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/util/delay_basic.h:83:0:-1
Address = 0x00000292 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:233:0:-1
Address = 0x00000294 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:238:0:-1
Address = 0x00000296 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:240:0:-1
Address = 0x000002a0 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:245:0:-1
Address = 0x000002a2 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:248:0:-1
Address = 0x000002a6 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:251:0:-1
Address = 0x000002ae File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:243:0:-1
Address = 0x000002b4 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:255:0:-1
Address = 0x000002c0 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:261:0:-1
Address = 0x000002c2 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:267:0:-1
Address = 0x000002cc File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:270:0:-1
Address = 0x000002d0 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:272:0:-1
Address = 0x000002d2 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:274:0:-1
Address = 0x000002d6 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:275:0:-1
Address = 0x000002da File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:276:0:-1
Address = 0x000002de File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:277:0:-1
Address = 0x000002e0 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:278:0:-1
Address = 0x000002e8 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:285:0:-1
Address = 0x0000030a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:286:0:-1
Address = 0x00000314 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:289:0:-1
Address = 0x00000316 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:291:0:-1
Address = 0x0000032e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:293:0:-1
Address = 0x00000338 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:294:0:-1
Address = 0x0000033e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:297:0:-1
Address = 0x00000344 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:300:0:-1
Address = 0x0000034a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:303:0:-1
Address = 0x00000350 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:306:0:-1
Address = 0x00000356 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:309:0:-1
Address = 0x0000035c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:312:0:-1
Address = 0x00000362 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:315:0:-1
Address = 0x00000368 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:319:0:-1
Address = 0x00000374 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:325:0:-1
Address = 0x00000376 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:329:0:-1
Address = 0x00000380 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:330:0:-1
Address = 0x000003a2 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:395:0:-1
Address = 0x000003a8 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:396:0:-1
Address = 0x000003ae File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:397:0:-1
Address = 0x000003b0 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:402:0:-1
Address = 0x000003d0 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:403:0:-1
Address = 0x000003d4 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:404:0:-1
Address = 0x000003e6 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:406:0:-1
Address = 0x000003f4 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:407:0:-1
Address = 0x000003fc File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:408:0:-1
Address = 0x0000040e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:409:0:-1
Address = 0x0000042a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:410:0:-1
Address = 0x00000434 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:413:0:-1
Address = 0x00000440 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:414:0:-1
Address = 0x00000448 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:415:0:-1
Address = 0x00000486 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:416:0:-1
Address = 0x0000048e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:418:0:-1
Address = 0x000004ae File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x000004b2 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x000004b6 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x000004ba File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:424:0:-1
Address = 0x000004be File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:427:0:-1
Address = 0x000004c0 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:434:0:-1
Address = 0x000004c0 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:436:0:-1
Address = 0x000004c4 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:437:0:-1
Address = 0x000004c8 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:440:0:-1
Address = 0x000004cc File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:441:0:-1
Address = 0x000004d2 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:444:0:-1
Address = 0x000004d6 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:445:0:-1
Address = 0x000004dc File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:446:0:-1
Address = 0x000004e8 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:447:0:-1
Address = 0x000004f4 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:452:0:-1
Address = 0x000004fa File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:453:0:-1
Address = 0x00000500 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:372:0:-1
Address = 0x0000050a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:373:0:-1
Address = 0x00000512 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000516 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000518 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x0000051a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x00000526 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/util/delay_basic.h:105:0:-1
Address = 0x0000052c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:377:0:-1
Address = 0x0000053a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x0000053e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000540 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x00000542 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x0000054c File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/util/delay_basic.h:105:0:-1
Address = 0x00000552 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/util/delay.h:156:0:-1
Address = 0x00000554 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/util/delay.h:152:0:-1
Address = 0x00000556 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:376:0:-1
Address = 0x0000055c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:381:0:-1
Address = 0x00000572 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000576 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000578 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x0000057a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x00000580 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:383:0:-1
Address = 0x00000596 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x0000059a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x0000059c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x0000059e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x000005aa File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x000005ae File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x000005b0 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x000005b2 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x000005b8 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:385:0:-1
Address = 0x000005ba File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:386:0:-1
Address = 0x000005c6 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:150:0:-1
Address = 0x000005d4 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:152:0:-1
Address = 0x000005d8 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:153:0:-1
Address = 0x000005de File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x000005e2 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:143:0:-1
Address = 0x000005e4 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x000005e6 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:142:0:-1
Address = 0x000005ec File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:154:0:-1
Address = 0x00000600 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000604 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000606 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x00000608 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x00000614 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000618 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x0000061a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x0000061c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x00000622 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:156:0:-1
Address = 0x00000624 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:85:0:-1
Address = 0x0000062a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:86:0:-1
Address = 0x00000636 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:89:0:-1
Address = 0x0000064c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:90:0:-1
Address = 0x00000650 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:91:0:-1
Address = 0x0000065e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:92:0:-1
Address = 0x00000662 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:93:0:-1
Address = 0x00000668 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:94:0:-1
Address = 0x0000066e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:96:0:-1
Address = 0x0000067c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:97:0:-1
Address = 0x00000682 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:98:0:-1
Address = 0x00000690 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:88:0:-1
Address = 0x00000696 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:104:0:-1
Address = 0x0000069e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:162:0:-1
Address = 0x000006a2 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:167:0:-1
Address = 0x000006a8 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:163:0:-1
Address = 0x000006ae File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x000006b2 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:143:0:-1
Address = 0x000006b4 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x000006b6 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:142:0:-1
Address = 0x000006bc File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:164:0:-1
Address = 0x000006c0 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:165:0:-1
Address = 0x000006d0 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x000006d4 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x000006d6 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x000006d8 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x000006e0 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x000006e4 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:143:0:-1
Address = 0x000006e6 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x000006e8 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:142:0:-1
Address = 0x000006ee File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:168:0:-1
Address = 0x000006f2 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:169:0:-1
Address = 0x00000702 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000706 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000708 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x0000070a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x00000712 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000716 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:143:0:-1
Address = 0x00000718 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x0000071c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:171:0:-1
Address = 0x00000720 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:142:0:-1
Address = 0x00000726 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:172:0:-1
Address = 0x00000728 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:353:0:-1
Address = 0x0000072e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000732 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000734 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x00000736 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x0000073c File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:300:0:-1
Address = 0x00000740 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:311:0:-1
Address = 0x00000748 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:313:0:-1
Address = 0x0000074c File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:315:0:-1
Address = 0x00000756 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:300:0:-1
Address = 0x0000075a File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:311:0:-1
Address = 0x00000762 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:313:0:-1
Address = 0x00000766 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:315:0:-1
Address = 0x00000770 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:357:0:-1
Address = 0x00000774 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:300:0:-1
Address = 0x00000778 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:311:0:-1
Address = 0x00000780 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:313:0:-1
Address = 0x00000782 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:315:0:-1
Address = 0x0000078c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:358:0:-1
Address = 0x00000794 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:338:0:-1
Address = 0x0000079e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:361:0:-1
Address = 0x000007a2 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:300:0:-1
Address = 0x000007a6 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:311:0:-1
Address = 0x000007ae File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:313:0:-1
Address = 0x000007b0 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:315:0:-1
Address = 0x000007ba File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:362:0:-1
Address = 0x000007be File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:300:0:-1
Address = 0x000007c2 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:311:0:-1
Address = 0x000007ca File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:313:0:-1
Address = 0x000007cc File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:315:0:-1
Address = 0x000007d6 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:364:0:-1
Address = 0x000007da File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:300:0:-1
Address = 0x000007de File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:311:0:-1
Address = 0x000007e6 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:313:0:-1
Address = 0x000007e8 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:315:0:-1
Address = 0x000007f2 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:365:0:-1
Address = 0x000007f6 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:300:0:-1
Address = 0x000007fa File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:311:0:-1
Address = 0x00000802 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:313:0:-1
Address = 0x00000804 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:315:0:-1
Address = 0x00000814 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000818 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x0000081a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x0000081c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x00000822 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:367:0:-1
Address = 0x00000824 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:197:0:-1
Address = 0x00000828 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:201:0:-1
Address = 0x00000830 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:208:0:-1
Address = 0x00000834 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:336:0:-1
Address = 0x0000083a File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:197:0:-1
Address = 0x0000083e File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:201:0:-1
Address = 0x00000846 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:208:0:-1
Address = 0x0000084a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:336:0:-1
Address = 0x00000856 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x0000085a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x0000085c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x0000085e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x00000864 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:197:0:-1
Address = 0x00000868 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:201:0:-1
Address = 0x00000870 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:208:0:-1
Address = 0x00000874 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:338:0:-1
Address = 0x00000878 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:228:0:-1
Address = 0x00000882 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:339:0:-1
Address = 0x0000088a File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:197:0:-1
Address = 0x0000088e File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:201:0:-1
Address = 0x00000896 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:208:0:-1
Address = 0x0000089a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:340:0:-1
Address = 0x0000089e File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:197:0:-1
Address = 0x000008a2 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:201:0:-1
Address = 0x000008aa File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:208:0:-1
Address = 0x000008ae File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:341:0:-1
Address = 0x000008b2 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:197:0:-1
Address = 0x000008b6 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:201:0:-1
Address = 0x000008be File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:208:0:-1
Address = 0x000008c2 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:342:0:-1
Address = 0x000008c6 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:197:0:-1
Address = 0x000008ca File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:201:0:-1
Address = 0x000008d2 File:line:col:begin = d:/winavr-20070525/lib/gcc/../../avr/include/avr/eeprom.h:208:0:-1
Address = 0x000008d6 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:343:0:-1
Address = 0x000008e0 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x000008e4 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x000008e6 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x000008e8 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x000008f0 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x000008f4 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x000008f6 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x000008fe File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x00000906 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:460:0:-1
Address = 0x0000090a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:461:0:-1
Address = 0x00000910 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000914 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:143:0:-1
Address = 0x00000916 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000918 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:142:0:-1
Address = 0x0000091e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:462:0:-1
Address = 0x00000924 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000928 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:143:0:-1
Address = 0x0000092a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x0000092c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:142:0:-1
Address = 0x00000938 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x0000093c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x0000093e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x00000940 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x00000946 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:464:0:-1
Address = 0x00000956 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x0000095a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x0000095c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x0000095e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x0000096a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x0000096e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000970 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x00000972 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x00000978 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:468:0:-1
Address = 0x0000097c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:470:0:-1
Address = 0x00000982 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000986 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:143:0:-1
Address = 0x00000988 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x0000098a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:142:0:-1
Address = 0x00000990 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:471:0:-1
Address = 0x000009a4 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x000009a8 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x000009aa File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x000009ac File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x000009b2 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:472:0:-1
Address = 0x000009b8 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x000009bc File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:143:0:-1
Address = 0x000009be File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x000009c0 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:142:0:-1
Address = 0x000009c6 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:473:0:-1
Address = 0x000009dc File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x000009e0 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x000009e2 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x000009e4 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x000009ea File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:475:0:-1
Address = 0x000009f0 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x000009f4 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:143:0:-1
Address = 0x000009f6 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x000009f8 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:142:0:-1
Address = 0x000009fe File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:476:0:-1
Address = 0x00000a0e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000a12 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000a14 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x00000a16 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x00000a1c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:477:0:-1
Address = 0x00000a24 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:478:0:-1
Address = 0x00000a2a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000a2e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:143:0:-1
Address = 0x00000a30 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000a32 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:142:0:-1
Address = 0x00000a38 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:479:0:-1
Address = 0x00000a3e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000a42 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:143:0:-1
Address = 0x00000a44 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000a46 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:142:0:-1
Address = 0x00000a4c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:480:0:-1
Address = 0x00000a5c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000a60 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000a62 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x00000a64 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x00000a6a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:482:0:-1
Address = 0x00000a70 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000a74 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:143:0:-1
Address = 0x00000a76 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000a78 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:142:0:-1
Address = 0x00000a7e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:484:0:-1
Address = 0x00000a84 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000a88 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:143:0:-1
Address = 0x00000a8a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000a8c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:142:0:-1
Address = 0x00000a92 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:485:0:-1
Address = 0x00000a98 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000a9c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:143:0:-1
Address = 0x00000a9e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000aa0 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:142:0:-1
Address = 0x00000aa6 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:486:0:-1
Address = 0x00000aac File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000ab0 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:143:0:-1
Address = 0x00000ab2 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000ab4 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:142:0:-1
Address = 0x00000aba File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:487:0:-1
Address = 0x00000ac0 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000ac4 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:143:0:-1
Address = 0x00000ac6 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000ac8 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:142:0:-1
Address = 0x00000ace File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:488:0:-1
Address = 0x00000ad4 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000ad8 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:143:0:-1
Address = 0x00000ada File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000adc File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:142:0:-1
Address = 0x00000ae2 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:489:0:-1
Address = 0x00000aea File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:490:0:-1
Address = 0x00000af0 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000af4 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:143:0:-1
Address = 0x00000af6 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000af8 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:142:0:-1
Address = 0x00000b00 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000b04 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:143:0:-1
Address = 0x00000b06 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000b0a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:492:0:-1
Address = 0x00000b0e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:142:0:-1
Address = 0x00000b14 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:493:0:-1
Address = 0x00000b1a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000b1e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:143:0:-1
Address = 0x00000b20 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000b22 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:142:0:-1
Address = 0x00000b28 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:494:0:-1
Address = 0x00000b2c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:500:0:-1
Address = 0x00000b46 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:501:0:-1
Address = 0x00000b48 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:503:0:-1
Address = 0x00000b4a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:110:0:-1
Address = 0x00000b4e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:113:0:-1
Address = 0x00000b52 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:116:0:-1
Address = 0x00000b56 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:505:0:-1
Address = 0x00000b5a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:270:0:-1
Address = 0x00000b5e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:272:0:-1
Address = 0x00000b60 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:274:0:-1
Address = 0x00000b64 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:275:0:-1
Address = 0x00000b68 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:276:0:-1
Address = 0x00000b6c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:277:0:-1
Address = 0x00000b6e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:395:0:-1
Address = 0x00000b74 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:396:0:-1
Address = 0x00000b7a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:514:0:-1
Address = 0x00000b82 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000b86 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000b88 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x00000b8a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x00000b90 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:518:0:-1
Address = 0x00000b94 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:527:0:-1
Address = 0x00000b9e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:566:0:-1
Address = 0x00000ba6 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:567:0:-1
Address = 0x00000baa File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000bae File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:532:0:-1
Address = 0x00000bb2 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:540:0:-1
Address = 0x00000bd4 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:541:0:-1
Address = 0x00000c18 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:542:0:-1
Address = 0x00000c2c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:545:0:-1
Address = 0x00000c30 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:548:0:-1
Address = 0x00000c52 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:549:0:-1
Address = 0x00000c96 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:550:0:-1
Address = 0x00000caa File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:552:0:-1
Address = 0x00000cae File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:561:0:-1
Address = 0x00000ce2 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:562:0:-1
Address = 0x00000cfe File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:564:0:-1
Address = 0x00000d0c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000d10 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000d12 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x00000d14 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x00000d1a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:566:0:-1
Address = 0x00000d2c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000d30 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000d32 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x00000d34 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x00000d3a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:567:0:-1
Address = 0x00000d4e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000d52 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000d56 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:424:0:-1
Address = 0x00000d60 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000d64 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000d66 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x00000d68 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x00000d6e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:570:0:-1
Address = 0x00000d80 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000d84 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000d86 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x00000d88 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x00000d8e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:571:0:-1
Address = 0x00000da2 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000da6 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000daa File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:424:0:-1
Address = 0x00000db4 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000db8 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000dba File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x00000dbc File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x00000dc2 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:574:0:-1
Address = 0x00000dd8 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000ddc File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000dde File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x00000de0 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x00000de6 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:575:0:-1
Address = 0x00000dfa File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000dfe File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000e02 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:424:0:-1
Address = 0x00000e0c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000e10 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000e12 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x00000e14 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x00000e1a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:578:0:-1
Address = 0x00000e38 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000e3c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000e3e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x00000e40 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x00000e46 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:579:0:-1
Address = 0x00000e5a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000e5e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000e62 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:424:0:-1
Address = 0x00000e6c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000e70 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000e72 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:134:0:-1
Address = 0x00000e74 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:132:0:-1
Address = 0x00000e7a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:582:0:-1
Address = 0x00000e84 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:586:0:-1
Address = 0x00000e8c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:587:0:-1
Address = 0x00000e92 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:124:0:-1
Address = 0x00000e96 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:143:0:-1
Address = 0x00000e98 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:125:0:-1
Address = 0x00000e9a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:142:0:-1
Address = 0x00000ea0 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:589:0:-1
Address = 0x00000eb0 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:590:0:-1
Address = 0x00000ed0 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:591:0:-1
Address = 0x00000ed8 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:592:0:-1
Address = 0x00000ee2 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:594:0:-1
Address = 0x00000ef4 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:179:0:-1
Address = 0x00000f16 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:180:0:-1
Address = 0x00000f18 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:181:0:-1
Address = 0x00000f4a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:183:0:-1
Address = 0x00000f4e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:186:0:-1
Address = 0x00000f52 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:189:0:-1
Address = 0x00000f56 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:192:0:-1
Address = 0x00000f5c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:195:0:-1
Address = 0x00000f6c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:198:0:-1
Address = 0x00000f7e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:201:0:-1
Address = 0x00000f86 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:204:0:-1
Address = 0x00000f92 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:207:0:-1
Address = 0x00000f98 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:210:0:-1
Address = 0x00000f9a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../C-Strom.c:212:0:-1
Address = 0x00000fbc File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../i2c_slave.c:6:0:-1
Address = 0x00000fbe File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../i2c_slave.c:8:0:-1
Address = 0x00000fc4 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../i2c_slave.c:9:0:-1
Address = 0x00000fca File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../i2c_slave.c:10:0:-1
Address = 0x00000fd0 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../i2c_slave.c:12:0:-1
Address = 0x00000fd2 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../i2c_slave.c:14:0:-1
Address = 0x00000fe4 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../i2c_slave.c:17:0:-1
Address = 0x0000100e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../i2c_slave.c:19:0:-1
Address = 0x00001012 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../i2c_slave.c:20:0:-1
Address = 0x0000101a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../i2c_slave.c:23:0:-1
Address = 0x0000101c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../i2c_slave.c:24:0:-1
Address = 0x00001024 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../i2c_slave.c:25:0:-1
Address = 0x00001028 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../i2c_slave.c:26:0:-1
Address = 0x0000102e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../i2c_slave.c:28:0:-1
Address = 0x00001034 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../i2c_slave.c:32:0:-1
Address = 0x00001042 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../i2c_slave.c:43:0:-1
Address = 0x0000104a File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../i2c_slave.c:44:0:-1
Address = 0x0000104e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../i2c_slave.c:46:0:-1
Address = 0x0000105c File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../i2c_slave.c:47:0:-1
Address = 0x00001066 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../i2c_slave.c:48:0:-1
Address = 0x0000106e File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../i2c_slave.c:51:0:-1
Address = 0x00001072 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../i2c_slave.c:59:0:-1
Address = 0x00001076 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../i2c_slave.c:62:0:-1
Address = 0x00001088 File:line:col:begin = G:\Eigene Dateien\C-Projects\C-Strom\default/../i2c_slave.c:62:0:-1
/C-OSD/C-Strom/trunk/spi_union.h
0,0 → 1,38
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-strom/ *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
****************************************************************************/
 
/*
* structs 'n union for easy SPI transfer
*/
typedef struct {
int16_t ampere;
int32_t mah;
int16_t volt;
} __attribute__((packed)) SPI_strom_data_t;
 
typedef struct {
uint8_t c[10];
uint8_t chk;
} __attribute__((packed)) SPI_char_buffer_t;
 
union SPI_buffer_t {
SPI_strom_data_t data;
SPI_char_buffer_t buffer;
};