Update files
parent
ede1adb598
commit
8986dfce3c
|
|
@ -0,0 +1,459 @@
|
|||
// USB Power Tester - Basic
|
||||
//
|
||||
// This code implements the basic functionality for the USB Power Tester.
|
||||
// It reads voltage, current and power from the INA219, calculates
|
||||
// capacity and shows the values on the OLED. The SET button is used to
|
||||
// switch between different screens.
|
||||
//
|
||||
// +-\/-+
|
||||
// RESET --- A0 (D5) PB5 1| |8 Vcc
|
||||
// SET ----- A3 (D3) PB3 2| |7 PB2 (D2) A1 ---- OLED/INA (SCK)
|
||||
// A2 (D4) PB4 3| |6 PB1 (D1)
|
||||
// GND 4| |5 PB0 (D0) ------- OLED/INA (SDA)
|
||||
// +----+
|
||||
//
|
||||
// Core: ATtinyCore (https://github.com/SpenceKonde/ATTinyCore)
|
||||
// Board: ATtiny25/45/85 (No bootloader)
|
||||
// Chip: ATtiny45 or 85 (depending on your chip)
|
||||
// Clock: 8 MHz (internal)
|
||||
// Millis: disabled
|
||||
// B.O.D.: 2.7V
|
||||
// Leave the rest on default settings. Don't forget to "Burn bootloader" !
|
||||
//
|
||||
// The I²C OLED implementation is based on TinyOLEDdemo
|
||||
// https://github.com/wagiminator/ATtiny13-TinyOLEDdemo
|
||||
//
|
||||
// 2020 by Stefan Wagner
|
||||
// Project Files (EasyEDA): https://easyeda.com/wagiminator
|
||||
// Project Files (Github): https://github.com/wagiminator
|
||||
// License: http://creativecommons.org/licenses/by-sa/3.0/
|
||||
|
||||
|
||||
// Libraries
|
||||
#include <avr/io.h>
|
||||
#include <avr/pgmspace.h>
|
||||
#include <avr/interrupt.h>
|
||||
#include <util/delay.h>
|
||||
|
||||
// Pin definitions
|
||||
#define I2C_SDA PB0 // I2C serial data pin
|
||||
#define I2C_SCL PB2 // I2C serial clock pin
|
||||
#define SETBUTTON PB3 // SET button
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// I2C Implementation
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
// I2C macros
|
||||
#define I2C_SDA_HIGH() DDRB &= ~(1<<I2C_SDA) // release SDA -> pulled HIGH by resistor
|
||||
#define I2C_SDA_LOW() DDRB |= (1<<I2C_SDA) // SDA as output -> pulled LOW by MCU
|
||||
#define I2C_SCL_HIGH() DDRB &= ~(1<<I2C_SCL) // release SCL -> pulled HIGH by resistor
|
||||
#define I2C_SCL_LOW() DDRB |= (1<<I2C_SCL) // SCL as output -> pulled LOW by MCU
|
||||
#define I2C_SDA_READ() (PINB & (1<<I2C_SDA)) // read SDA line
|
||||
#define I2C_DELAY() asm("lpm") // delay 3 clock cycles
|
||||
#define I2C_CLOCKOUT() I2C_SCL_HIGH();I2C_DELAY();I2C_SCL_LOW() // clock out
|
||||
|
||||
// I2C init function
|
||||
void I2C_init(void) {
|
||||
DDRB &= ~((1<<I2C_SDA)|(1<<I2C_SCL)); // pins as input (HIGH-Z) -> lines released
|
||||
PORTB &= ~((1<<I2C_SDA)|(1<<I2C_SCL)); // should be LOW when as ouput
|
||||
}
|
||||
|
||||
// I2C transmit one data byte to the slave, ignore ACK bit, no clock stretching allowed
|
||||
void I2C_write(uint8_t data) {
|
||||
for(uint8_t i=8; i; i--, data<<=1) { // transmit 8 bits, MSB first
|
||||
(data & 0x80) ? (I2C_SDA_HIGH()) : (I2C_SDA_LOW()); // SDA HIGH if bit is 1
|
||||
I2C_CLOCKOUT(); // clock out -> slave reads the bit
|
||||
}
|
||||
I2C_DELAY(); // delay 3 clock cycles
|
||||
I2C_SDA_HIGH(); // release SDA for ACK bit of slave
|
||||
I2C_CLOCKOUT(); // 9th clock pulse is for the ignored ACK bit
|
||||
}
|
||||
|
||||
// I2C start transmission
|
||||
void I2C_start(uint8_t addr) {
|
||||
I2C_SDA_LOW(); // start condition: SDA goes LOW first
|
||||
I2C_SCL_LOW(); // start condition: SCL goes LOW second
|
||||
I2C_write(addr); // send slave address
|
||||
}
|
||||
|
||||
// I2C restart transmission
|
||||
void I2C_restart(uint8_t addr) {
|
||||
I2C_SDA_HIGH(); // prepare SDA for HIGH to LOW transition
|
||||
I2C_SCL_HIGH(); // restart condition: clock HIGH
|
||||
I2C_start(addr); // start again
|
||||
}
|
||||
|
||||
// I2C stop transmission
|
||||
void I2C_stop(void) {
|
||||
I2C_SDA_LOW(); // prepare SDA for LOW to HIGH transition
|
||||
I2C_SCL_HIGH(); // stop condition: SCL goes HIGH first
|
||||
I2C_SDA_HIGH(); // stop condition: SDA goes HIGH second
|
||||
}
|
||||
|
||||
// I2C receive one data byte from the slave (ack=0 for last byte, ack>0 if more bytes to follow)
|
||||
uint8_t I2C_read(uint8_t ack) {
|
||||
uint8_t data = 0; // variable for the received byte
|
||||
I2C_SDA_HIGH(); // release SDA -> will be toggled by slave
|
||||
for(uint8_t i=8; i; i--) { // receive 8 bits
|
||||
data<<=1; // bits shifted in right (MSB first)
|
||||
I2C_DELAY(); // delay 3 clock cycles
|
||||
I2C_SCL_HIGH(); // clock HIGH
|
||||
if(I2C_SDA_READ()) data |=1; // read bit
|
||||
I2C_SCL_LOW(); // clock LOW -> slave prepares next bit
|
||||
}
|
||||
if (ack) I2C_SDA_LOW(); // pull SDA LOW to acknowledge (ACK)
|
||||
I2C_DELAY(); // delay 3 clock cycles
|
||||
I2C_CLOCKOUT(); // clock out -> slave reads ACK bit
|
||||
return(data); // return the received byte
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// OLED Implementation
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
// OLED definitions
|
||||
#define OLED_ADDR 0x78 // OLED write address
|
||||
#define OLED_CMD_MODE 0x00 // set command mode
|
||||
#define OLED_DAT_MODE 0x40 // set data mode
|
||||
#define OLED_INIT_LEN 11 // 9: no screen flip, 11: screen flip
|
||||
|
||||
// OLED init settings
|
||||
const uint8_t OLED_INIT_CMD[] PROGMEM = {
|
||||
0xA8, 0x1F, // set multiplex for 128x32
|
||||
0x20, 0x01, // set vertical memory addressing mode
|
||||
0xDA, 0x02, // set COM pins hardware configuration to sequential
|
||||
0x8D, 0x14, // enable charge pump
|
||||
0xAF, // switch on OLED
|
||||
0xA1, 0xC8 // flip the screen
|
||||
};
|
||||
|
||||
// OLED 6x16 font
|
||||
const uint8_t OLED_FONT[] PROGMEM = {
|
||||
0x7C, 0x1F, 0x02, 0x20, 0x02, 0x20, 0x02, 0x20, 0x02, 0x20, 0x7C, 0x1F, // 0 0
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x1F, // 1 1
|
||||
0x00, 0x1F, 0x82, 0x20, 0x82, 0x20, 0x82, 0x20, 0x82, 0x20, 0x7C, 0x00, // 2 2
|
||||
0x00, 0x00, 0x82, 0x20, 0x82, 0x20, 0x82, 0x20, 0x82, 0x20, 0x7C, 0x1F, // 3 3
|
||||
0x7C, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x7C, 0x1F, // 4 4
|
||||
0x7C, 0x00, 0x82, 0x20, 0x82, 0x20, 0x82, 0x20, 0x82, 0x20, 0x00, 0x1F, // 5 5
|
||||
0x7C, 0x1F, 0x82, 0x20, 0x82, 0x20, 0x82, 0x20, 0x82, 0x20, 0x00, 0x1F, // 6 6
|
||||
0x7C, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7C, 0x1F, // 7 7
|
||||
0x7C, 0x1F, 0x82, 0x20, 0x82, 0x20, 0x82, 0x20, 0x82, 0x20, 0x7C, 0x1F, // 8 8
|
||||
0x7C, 0x00, 0x82, 0x20, 0x82, 0x20, 0x82, 0x20, 0x82, 0x20, 0x7C, 0x1F, // 9 9
|
||||
0x00, 0x00, 0xF0, 0x3F, 0x8C, 0x00, 0x82, 0x00, 0x8C, 0x00, 0xF0, 0x3F, // 10 A
|
||||
0x00, 0x00, 0xFE, 0x07, 0x00, 0x18, 0x00, 0x20, 0x00, 0x18, 0xFE, 0x07, // 11 V
|
||||
0x00, 0x00, 0xFE, 0x1F, 0x00, 0x20, 0x00, 0x1F, 0x00, 0x20, 0xFE, 0x1F, // 12 W
|
||||
0x00, 0x00, 0xFE, 0x3F, 0x00, 0x01, 0x80, 0x00, 0x80, 0x00, 0x00, 0x3F, // 13 h
|
||||
0x00, 0x00, 0x80, 0x3F, 0x80, 0x00, 0x80, 0x3F, 0x80, 0x00, 0x00, 0x3F, // 14 m
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, // 15 .
|
||||
0x00, 0x00, 0x00, 0x00, 0x30, 0x06, 0x30, 0x06, 0x00, 0x00, 0x00, 0x00, // 16 :
|
||||
0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, // 17 -
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // 18 SPACE
|
||||
};
|
||||
|
||||
// Character definitions
|
||||
#define DECIMAL 15
|
||||
#define COLON 16
|
||||
#define SPACE 18
|
||||
|
||||
// For BCD conversion
|
||||
const uint16_t divider[5] = {10000, 1000, 100, 10, 1};
|
||||
|
||||
// OLED init function
|
||||
void OLED_init(void) {
|
||||
I2C_start(OLED_ADDR); // start transmission to OLED
|
||||
I2C_write(OLED_CMD_MODE); // set command mode
|
||||
for (uint8_t i=0; i<OLED_INIT_LEN; i++)
|
||||
I2C_write(pgm_read_byte(&OLED_INIT_CMD[i])); // send the command bytes
|
||||
I2C_stop(); // stop transmission
|
||||
}
|
||||
|
||||
// OLED set the cursor
|
||||
void OLED_setCursor(uint8_t xpos, uint8_t ypos) {
|
||||
I2C_start(OLED_ADDR); // start transmission to OLED
|
||||
I2C_write(OLED_CMD_MODE); // set command mode
|
||||
I2C_write(0x22); // command for min/max page
|
||||
I2C_write(ypos); I2C_write(ypos+1); // min: ypos; max: ypos+1
|
||||
I2C_write(xpos & 0x0F); // set low nibble of start column
|
||||
I2C_write(0x10 | (xpos >> 4)); // set high nibble of start column
|
||||
I2C_write(0xB0 | (ypos)); // set start page
|
||||
I2C_stop(); // stop transmission
|
||||
}
|
||||
|
||||
// OLED clear screen
|
||||
void OLED_clearScreen(void) {
|
||||
OLED_setCursor(0, 0); // set cursor at upper half
|
||||
I2C_start(OLED_ADDR); // start transmission to OLED
|
||||
I2C_write(OLED_DAT_MODE); // set data mode
|
||||
uint8_t i = 0; // count variable
|
||||
do {I2C_write(0x00);} while (--i); // clear upper half
|
||||
I2C_stop(); // stop transmission
|
||||
OLED_setCursor(0, 2); // set cursor at lower half
|
||||
I2C_start(OLED_ADDR); // start transmission to OLED
|
||||
I2C_write(OLED_DAT_MODE); // set data mode
|
||||
do {I2C_write(0x00);} while (--i); // clear upper half
|
||||
I2C_stop(); // stop transmission
|
||||
}
|
||||
|
||||
// OLED plot a character
|
||||
void OLED_plotChar(uint8_t ch) {
|
||||
ch = (ch << 3) + (ch << 2); // calculate position of character in font array
|
||||
I2C_write(0x00); I2C_write(0x00); // print spacing between characters
|
||||
for(uint8_t i=12; i; i--) I2C_write(pgm_read_byte(&OLED_FONT[ch++])); // print character
|
||||
I2C_write(0x00); I2C_write(0x00); // print spacing between characters
|
||||
}
|
||||
|
||||
// OLED print a character
|
||||
void OLED_printChar(uint8_t ch) {
|
||||
I2C_start(OLED_ADDR); // start transmission to OLED
|
||||
I2C_write(OLED_DAT_MODE); // set data mode
|
||||
OLED_plotChar(ch); // plot the character
|
||||
I2C_stop(); // stop transmission
|
||||
}
|
||||
|
||||
// OLED print a string from program memory; terminator: 255
|
||||
void OLED_printPrg(const uint8_t* p) {
|
||||
I2C_start(OLED_ADDR); // start transmission to OLED
|
||||
I2C_write(OLED_DAT_MODE); // set data mode
|
||||
uint8_t ch = pgm_read_byte(p); // read first character from program memory
|
||||
while (ch < 255) { // repeat until string terminator
|
||||
OLED_plotChar(ch); // plot character on OLED
|
||||
ch = pgm_read_byte(++p); // read next character
|
||||
}
|
||||
I2C_stop(); // stop transmission
|
||||
}
|
||||
|
||||
// OLED print 16-bit value as 5-digit decimal (BCD conversion by substraction method)
|
||||
void OLED_printDec16(uint16_t value) {
|
||||
uint8_t leadflag = 0; // flag for leading spaces
|
||||
I2C_start(OLED_ADDR); // start transmission to OLED
|
||||
I2C_write(OLED_DAT_MODE); // set data mode
|
||||
for(uint8_t digit = 0; digit < 5; digit++) { // 5 digits
|
||||
uint8_t digitval = 0; // start with digit value 0
|
||||
while (value >= divider[digit]) { // if current divider fits into the value
|
||||
leadflag = 1; // end of leading spaces
|
||||
digitval++; // increase digit value
|
||||
value -= divider[digit]; // decrease value by divider
|
||||
}
|
||||
if (leadflag || (digit == 4)) OLED_plotChar(digitval); // print the digit
|
||||
else OLED_plotChar(SPACE); // or print leading space
|
||||
}
|
||||
I2C_stop(); // stop transmission
|
||||
}
|
||||
|
||||
// OLED print 16-bit value as 3-digit decimal (BCD conversion by substraction method)
|
||||
void OLED_printDec12(uint16_t value) {
|
||||
I2C_start(OLED_ADDR); // start transmission to OLED
|
||||
I2C_write(OLED_DAT_MODE); // set data mode
|
||||
for(uint8_t digit = 2; digit < 5; digit++) { // 3 digits
|
||||
uint8_t digitval = 0; // start with digit value 0
|
||||
while (value >= divider[digit]) { // if current divider fits into the value
|
||||
digitval++; // increase digit value
|
||||
value -= divider[digit]; // decrease value by divider
|
||||
}
|
||||
OLED_plotChar(digitval); // print the digit
|
||||
}
|
||||
I2C_stop(); // stop transmission
|
||||
}
|
||||
|
||||
// OLED print 8-bit value as 2-digit decimal (BCD conversion by substraction method)
|
||||
void OLED_printDec8(uint8_t value) {
|
||||
I2C_start(OLED_ADDR); // start transmission to OLED
|
||||
I2C_write(OLED_DAT_MODE); // set data mode
|
||||
uint8_t digitval = 0; // start with digit value 0
|
||||
while (value >= 10) { // if current divider fits into the value
|
||||
digitval++; // increase digit value
|
||||
value -= 10; // decrease value by divider
|
||||
}
|
||||
OLED_plotChar(digitval); // print first digit
|
||||
OLED_plotChar(value); // print second digit
|
||||
I2C_stop(); // stop transmission
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// INA219 Implementation
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
// INA219 register values
|
||||
#define INA_ADDR 0x80 // I2C write address of INA219
|
||||
#define INA_CONFIG 0b0000011001100111 // INA config register according to datasheet
|
||||
#define INA_CALIB 5120 // INA calibration register according to R_SHUNT
|
||||
#define INA_REG_CONFIG 0x00 // INA configuration register address
|
||||
#define INA_REG_CALIB 0x05 // INA calibration register address
|
||||
#define INA_REG_SHUNT 0x01 // INA shunt voltage register address
|
||||
#define INA_REG_VOLTAGE 0x02 // INA bus voltage register address
|
||||
#define INA_REG_POWER 0x03 // INA power register address
|
||||
#define INA_REG_CURRENT 0x04 // INA current register address
|
||||
|
||||
// INA219 write a register value
|
||||
void INA_write(uint8_t reg, uint16_t value) {
|
||||
I2C_start(INA_ADDR); // start transmission to INA219
|
||||
I2C_write(reg); // write register address
|
||||
I2C_write(value >> 8); // write register content high byte
|
||||
I2C_write(value); // write register content low byte
|
||||
I2C_stop(); // stop transmission
|
||||
}
|
||||
|
||||
// INA219 read a register
|
||||
uint16_t INA_read(uint8_t reg) {
|
||||
uint16_t result; // result variable
|
||||
I2C_start(INA_ADDR); // start transmission to INA219
|
||||
I2C_write(reg); // write register address
|
||||
I2C_restart(INA_ADDR | 0x01); // restart for reading
|
||||
result = (uint16_t)(I2C_read(1) << 8) | I2C_read(0); // read register content
|
||||
I2C_stop(); // stop transmission
|
||||
return(result); // return result
|
||||
}
|
||||
|
||||
// INA219 write inital configuration and calibration values
|
||||
void INA_init(void) {
|
||||
INA_write(INA_REG_CONFIG, INA_CONFIG); // write INA219 configuration
|
||||
INA_write(INA_REG_CALIB, INA_CALIB); // write INA219 calibration
|
||||
}
|
||||
|
||||
// INA219 read voltage
|
||||
uint16_t INA_readVoltage(void) {
|
||||
return((INA_read(INA_REG_VOLTAGE) >> 1) & 0xFFFC);
|
||||
}
|
||||
|
||||
// INA219 read sensor values
|
||||
uint16_t INA_readCurrent(void) {
|
||||
uint16_t result = INA_read(INA_REG_CURRENT);
|
||||
if (result > 32767) result = 0;
|
||||
return(result);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// Millis Counter Implementation for Timer0
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
volatile uint32_t MIL_counter = 0; // millis counter variable
|
||||
|
||||
// Init millis counter
|
||||
void MIL_init(void) {
|
||||
OCR0A = 124; // TOP: 124 = 8000kHz / (64 * 1kHz) - 1
|
||||
TCCR0A = (1<<WGM01); // timer0 CTC mode
|
||||
TCCR0B = (1<<CS01)|(1<<CS00); // start timer0 with prescaler 64
|
||||
TIMSK = (1<<OCIE0A); // enable output compare match interrupt
|
||||
sei(); // enable global interrupts
|
||||
}
|
||||
|
||||
// Read millis counter
|
||||
uint32_t MIL_read(void) {
|
||||
cli(); // disable interrupt for atomic read
|
||||
uint32_t result = MIL_counter; // read millis counter
|
||||
sei(); // enable interrupts
|
||||
return(result); // return millis counter value
|
||||
}
|
||||
|
||||
// Timer0 compare match A interrupt service routine (every millisecond)
|
||||
ISR(TIM0_COMPA_vect) {
|
||||
MIL_counter++; // increase millis counter
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// Main Function
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
// Some "strings"
|
||||
const uint8_t mA[] PROGMEM = { 14, 10, 18, 255 }; // "mA "
|
||||
const uint8_t mV[] PROGMEM = { 14, 11, 18, 255 }; // "mV "
|
||||
const uint8_t mW[] PROGMEM = { 14, 12, 18, 255 }; // "mW "
|
||||
const uint8_t mAh[] PROGMEM = { 14, 10, 13, 255 }; // "mAh"
|
||||
const uint8_t mWh[] PROGMEM = { 14, 12, 13, 255 }; // "mWh"
|
||||
const uint8_t SEP[] PROGMEM = { 18, 17, 18, 255 }; // " - "
|
||||
|
||||
int main(void) {
|
||||
// Local variables
|
||||
uint16_t voltage, current, power; // voltage in mV, current in mA, power in mW
|
||||
uint16_t minvoltage = 65535, maxvoltage = 0; // min/max voltages in mV
|
||||
uint16_t mincurrent = 65535, maxcurrent = 0; // min/max current in mA
|
||||
uint16_t minpower = 65535, maxpower = 0; // min/max power in mV
|
||||
uint32_t lastmillis, nowmillis, interval; // for timing calculation in millis
|
||||
uint32_t duration = 0; // total duration in millis
|
||||
uint16_t seconds; // total duration in seconds
|
||||
uint32_t capacity = 0, energy = 0; // counter for capacity in uAh and energy in uWh
|
||||
uint8_t primescreen = 0; // screen selection flag
|
||||
uint8_t lastbutton = 1; // button flag (0: button pressed)
|
||||
|
||||
// Setup
|
||||
PORTB = (1<<SETBUTTON); // pullup for set button
|
||||
MIL_init(); // init millis counter
|
||||
I2C_init(); // init I2C
|
||||
INA_init(); // init INA219
|
||||
OLED_init(); // init OLED
|
||||
OLED_clearScreen(); // clear screen
|
||||
lastmillis = MIL_read(); // read millis counter
|
||||
|
||||
// Loop
|
||||
while(1) {
|
||||
// Read sensor values
|
||||
voltage = INA_readVoltage(); // read voltage from INA219
|
||||
current = INA_readCurrent(); // read current from INA219
|
||||
power = (uint32_t)voltage * current / 1000; // calculate power in mW
|
||||
|
||||
// Calculate timings
|
||||
nowmillis = MIL_read(); // read millis counter
|
||||
interval = nowmillis - lastmillis; // calculate time interval
|
||||
lastmillis = nowmillis; // reset lastmillis
|
||||
duration += interval; // calculate total duration in millis
|
||||
seconds = duration / 1000; // calculate total duration in seconds
|
||||
|
||||
// Calculate capacity in uAh and energy in uWh
|
||||
capacity += interval * current / 3600; // calculate uAh
|
||||
energy += interval * power / 3600; // calculate uWh
|
||||
|
||||
// Update min/max values
|
||||
if (minvoltage > voltage) minvoltage = voltage;
|
||||
if (maxvoltage < voltage) maxvoltage = voltage;
|
||||
if (mincurrent > current) mincurrent = current;
|
||||
if (maxcurrent < current) maxcurrent = current;
|
||||
if (minpower > power ) minpower = power;
|
||||
if (maxpower < power ) maxpower = power;
|
||||
|
||||
// Check SET button and set screen flag accordingly
|
||||
if (PINB & (1<<SETBUTTON)) lastbutton = 0;
|
||||
else if (!lastbutton) {
|
||||
if (++primescreen > 4) primescreen = 0;
|
||||
OLED_clearScreen();
|
||||
lastbutton = 1;
|
||||
}
|
||||
|
||||
// Display values on the OLED
|
||||
switch (primescreen) {
|
||||
case 0: OLED_setCursor(0,0);
|
||||
OLED_printDec16(voltage); OLED_printPrg(mV);
|
||||
OLED_printDec16(power); OLED_printPrg(mW);
|
||||
OLED_setCursor(0,2);
|
||||
OLED_printDec16(current); OLED_printPrg(mA);
|
||||
OLED_printDec16(capacity / 1000); OLED_printPrg(mAh);
|
||||
break;
|
||||
case 1: OLED_setCursor(0,0);
|
||||
OLED_printDec16(minvoltage); OLED_printPrg(SEP);
|
||||
OLED_printDec16(maxvoltage); OLED_printPrg(mV);
|
||||
OLED_setCursor(0,2);
|
||||
OLED_printDec16(mincurrent); OLED_printPrg(SEP);
|
||||
OLED_printDec16(maxcurrent); OLED_printPrg(mA);
|
||||
break;
|
||||
case 2: OLED_setCursor(0,1);
|
||||
OLED_printDec16(minpower); OLED_printPrg(SEP);
|
||||
OLED_printDec16(maxpower); OLED_printPrg(mW);
|
||||
break;
|
||||
case 3: OLED_setCursor(16,0);
|
||||
OLED_printDec16(capacity / 1000); OLED_printChar(DECIMAL);
|
||||
OLED_printDec12(capacity % 1000); OLED_printPrg(mAh);
|
||||
OLED_setCursor(16,2);
|
||||
OLED_printDec16(energy / 1000); OLED_printChar(DECIMAL);
|
||||
OLED_printDec12(energy % 1000); OLED_printPrg(mWh);
|
||||
break;
|
||||
case 4: OLED_setCursor(32,1);
|
||||
OLED_printDec8(seconds / 3600); OLED_printChar(COLON);
|
||||
seconds %= 3600;
|
||||
OLED_printDec8(seconds / 60 ); OLED_printChar(COLON);
|
||||
OLED_printDec8(seconds % 60 );
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
_delay_ms(100);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,192 +0,0 @@
|
|||
:10000000ABC0CFC0CEC0CDC0CCC08AC3CAC0C9C0EF
|
||||
:10001000C8C0C7C0C6C0C5C0C4C0C3C0C2C000003D
|
||||
:1000200000000000000000010101010101010000C9
|
||||
:1000300000000000000000000000000000000000C0
|
||||
:10004000C038E0000000203C230202273820087856
|
||||
:10005000880000C83808000007380E010000F808C2
|
||||
:1000600000F80008F800033C0700073C030080800C
|
||||
:10007000808080808000203F20003F20003F08F8E3
|
||||
:10008000008080800000203F210000203F2000E011
|
||||
:1000900010080810E000000F102020100F000010C2
|
||||
:1000A00010F8000000000020203F20200000007019
|
||||
:1000B0000808088870000030282422213000003011
|
||||
:1000C0000888884830000018202020110E00000009
|
||||
:1000D000C02010F8000000070424243F240000F88A
|
||||
:1000E0000888880808000019212020110E0000E06F
|
||||
:1000F000108888180000000F112020110E00003811
|
||||
:100100000808C83808000000003F00000000007028
|
||||
:10011000880808887000001C222121221C0000E0B1
|
||||
:1001200010080810E0000000312222110F00C8A1C1
|
||||
:10013000A81FDA028D142E2B2A002A292A002E2C21
|
||||
:100140002A002A292A002E2B2F002E2B2A002E2DA2
|
||||
:100150002A002E2C2A00670511241FBECFE5D1E00E
|
||||
:10016000DEBFCDBF20E0A8E7B0E001C01D92A53AF8
|
||||
:10017000B207E1F710E0A0E6B0E0EAECFBE002C075
|
||||
:1001800005900D92A837B107D9F710E0CCEAD0E07E
|
||||
:1001900003C02197FE0111D5CB3AD107D1F70AD37D
|
||||
:1001A00012C52ECFC09AC29ABA9AB89A8FEF8FB959
|
||||
:1001B0008AE28DB980EF8EB908953FB7F8948091A7
|
||||
:1001C000990090919A00A0919B00B0919C0022B759
|
||||
:1001D00008B601FE05C02F3F19F00196A11DB11D03
|
||||
:1001E0003FBFBA2FA92F982F8827BC01CD01620FDE
|
||||
:1001F000711D811D911D43E0660F771F881F991F98
|
||||
:100200004A95D1F70895CF92DF92EF92FF92CF9364
|
||||
:10021000DF936B017C01D1DFEB01CFDF6C1B7D0B2A
|
||||
:10022000683E7340A0F0C114D104E104F10439F434
|
||||
:10023000DF91CF91FF90EF90DF90CF90089581E014
|
||||
:10024000C81AD108E108F108C851DC4FE6CFC11443
|
||||
:10025000D104E104F10409F7EBCFCF92DF92EF92E2
|
||||
:10026000FF920F931F93CF93DF936C01EB017B0100
|
||||
:10027000E40EF51E10E000E0CE15DF0561F0699197
|
||||
:10028000D601ED91FC910190F081E02DC601099518
|
||||
:10029000080F191FF1CFC801DF91CF911F910F9166
|
||||
:1002A000FF90EF90DF90CF900895E0917A00F09169
|
||||
:1002B0007B000994E0917800F09179000994E09135
|
||||
:1002C0007C00F0917D00099580E4F4CFE0917C0002
|
||||
:1002D000F0917D00099580E0EDCF1F93CF93DF93E0
|
||||
:1002E000C82F162FD62FD77080916700D82BEEDF3E
|
||||
:1002F0008D2FE0DF8C2F82958F708061DBDF8C2F5C
|
||||
:100300008F70D8DFD2DFC093A2001093A100DF91DD
|
||||
:10031000CF911F9108950F931F93CF93DF93C0E068
|
||||
:1003200010E86C2F80E0D9DF8091A200012F081B1C
|
||||
:1003300081F01093A200C3DFD0E080E0BBDF811129
|
||||
:1003400004C0B3DFBCDF80E0B5DFDF5F0D13F5CFA6
|
||||
:10035000ACDFCF5FC43029F760E080E0DF91CF9160
|
||||
:100360001F910F91BACF8091A100860F24E030E059
|
||||
:10037000261B31098217130609F034F48093A1007B
|
||||
:100380006091A10080E0A9CF84E0861BF7CFAF92F7
|
||||
:10039000BF92CF92DF92EF92FF920F931F93CF9372
|
||||
:1003A000DF93E0918000F0918100309741F06D3053
|
||||
:1003B00031F0D62FC3816A3079F46C2FD4DF81E01D
|
||||
:1003C00090E0DF91CF911F910F91FF90EF90DF9020
|
||||
:1003D000CF90BF90AF900895A2804091A200EA2CE8
|
||||
:1003E000F12C20E830E02E193F094217130619F0CE
|
||||
:1003F00014F06C2FB8DFE0918000F091810024812F
|
||||
:100400008C2F90E0B7018DD3BC014D2F421B550BB3
|
||||
:10041000CA0187D38C01BC2E52DFC801282F201BB4
|
||||
:100420002A15C0F46C015FEFC51AD50AE09180006F
|
||||
:10043000F09181000190F081E02DE80FF91FD49137
|
||||
:100440008D2F38DF811104C030DF39DF8D2F32DF8F
|
||||
:10045000C601E4CF0E0D1F1D28DF8091A200C13020
|
||||
:1004600039F48A0D8093A200BA94B110D5CFA7CFEA
|
||||
:100470006091A1006F5F91E09B1510F42EDFF4CF27
|
||||
:100480006C1B8A0DFBCF0F931F93CF93DF938C01CF
|
||||
:10049000D0E0C0E0F801EC0FFD1F6491662339F055
|
||||
:1004A0008DE990E074DF892B11F02196F3CFCE0116
|
||||
:1004B000DF91CF911F910F9108958EB98BE295E056
|
||||
:1004C0009A95F1F700008DB9B29BFECF92E09A9514
|
||||
:1004D000F1F700C08DB9769BF2CF85E08A95F1F7F0
|
||||
:1004E00000008FB19FEF9FB9B89A0895C2988FB955
|
||||
:1004F00080EFE3DFB8988EEFE0DF8095817008959C
|
||||
:10050000F5CFCF938091A3009091A4009C012F5F21
|
||||
:100510003F4F2230310528F001979093A40080933B
|
||||
:10052000A300B89880EFC9DFC82F8091A3009091F5
|
||||
:10053000A400892B39F48FEF8FB98EEFBEDF8C2F9B
|
||||
:10054000CF9108951FB8F9CF6115710531F07093FF
|
||||
:10055000A4006093A30061E070E0C29AB29BFECF5A
|
||||
:1005600092E09A95F1F700C0C09892E09A95F1F761
|
||||
:1005700000C0C298C09A779B0CC0C298880F862B87
|
||||
:100580008FB980EF9ADFB8988EEF97DF80958170F2
|
||||
:10059000089580E0089570E060E08CE3D5CFC098C6
|
||||
:1005A000C29AB29BFECF82E08A95F1F700C0C09A52
|
||||
:1005B00085E08A95F1F700000895F1DF80E0089565
|
||||
:1005C000F1DDE9DF811106C06AE070E080E090E0D3
|
||||
:1005D0001ADEF7CFF2CFCF93DF93C82F70E060E041
|
||||
:1005E00080E4B2DF8C2F82DF62E070E080E4ACDF79
|
||||
:1005F00088DFC82F86DFDC2FC82FD1DFCE01DF9147
|
||||
:10060000CF9108951F93CF93DF93182FEB0170E0E4
|
||||
:1006100060E080E499DF812F69DF8D2F67DF8C2F09
|
||||
:1006200065DFDF91CF911F91BACF8F929F92AF92EA
|
||||
:10063000BF92CF92DF92EF92FF920F931F93CF93CF
|
||||
:10064000DF93CDB7DEB7A1970FB6F894DEBF0FBE2C
|
||||
:10065000CDBF6C01F12CE12C812C912C54018394A1
|
||||
:10066000C114D104E104F10411F04601570180E105
|
||||
:10067000881687E29806A104B10488F441E050E0AE
|
||||
:1006800066E770E08DE990E0E8DD2AE030E040E0E8
|
||||
:1006900050E0C501B40156D24B015C01E8CF19A26C
|
||||
:1006A0008E010F5D1F4F8AE0882E912CA12CB12C5A
|
||||
:1006B000C701B601A50194015ED2822F6AE028D25B
|
||||
:1006C0009C2D981B892F9A304CF5805DF801829300
|
||||
:1006D0008F0169017A01C114D104E104F10441F7E9
|
||||
:1006E00001900020E9F73197AF01401B510BB80191
|
||||
:1006F0008DE990E0B2DDA1960FB6F894DEBF0FBE93
|
||||
:10070000CDBFDF91CF911F910F91FF90EF90DF90C0
|
||||
:10071000CF90BF90AF909F908F900895895CD6CF77
|
||||
:100720001F920F920FB60F9211242F933F938F9326
|
||||
:100730009F93AF93BF938091950090919600A09165
|
||||
:100740009700B09198003091940026E0230F2D3748
|
||||
:1007500068F129E8230F0396A11DB11D2093940091
|
||||
:100760008093950090939600A0939700B093980083
|
||||
:100770008091990090919A00A0919B00B0919C006B
|
||||
:100780000196A11DB11D8093990090939A00A093AA
|
||||
:100790009B00B0939C00BF91AF919F918F913F912F
|
||||
:1007A0002F910F900FBE0F901F9018950296A11DCC
|
||||
:1007B000B11DD4CF81B781BF78948AB582608ABDDC
|
||||
:1007C0008AB581608ABD83B7887F836083BF789450
|
||||
:1007D00089B7826089BF80B7807F80BF80B780681B
|
||||
:1007E00080BF80B7806480BF8CB580648CBD8FEF84
|
||||
:1007F0008DBD80B7876080BF86B18877866886B9EF
|
||||
:10080000379A17BA88E088BBCDDC67E676E080E0EF
|
||||
:10081000F9DE60E074E185E0F5DEE0917E00F091C4
|
||||
:100820007F00099553DDCEE2D1E056E3E52E51E09D
|
||||
:10083000F52EFE011491812F3DDD811104C035DDBF
|
||||
:1008400045DD812F37DD2196EC16FD0691F72DDD74
|
||||
:1008500080E790E090938100809380005CDD36DD3E
|
||||
:100860008FEA28DD22DD8091670094E0892780935C
|
||||
:1008700067002FB7F8948091950090919600A09111
|
||||
:100880009700B09198002FBF8093860090938700C7
|
||||
:10089000A0938800B093890038EEC32E33E0D32EA6
|
||||
:1008A000E12CF12C40E1842E4EE0942EA12CB12CB1
|
||||
:1008B000C1E0D0E282E08FDE969587958C7F9093A1
|
||||
:1008C00093008093920084E086DE97FDCFC09093E2
|
||||
:1008D0008F0080938E0060919200709193008091C0
|
||||
:1008E0006500909166006817790720F470936600A0
|
||||
:1008F0006093650080919000909191008617970712
|
||||
:1009000020F4709391006093900020918E003091BC
|
||||
:100910008F0080916300909164002817390720F4BC
|
||||
:10092000309364002093630080918C0090918D003F
|
||||
:100930008217930720F430938D0020938C0090E071
|
||||
:1009400080E050E040E0FED0A701960114D1309342
|
||||
:100950008B0020938A002FB7F89480919500909196
|
||||
:100960009600A0919700B09198002FBF409186000B
|
||||
:100970005091870060918800709189002C013D01A1
|
||||
:10098000441A550A660A770AA301920180938600E9
|
||||
:1009900090938700A0938800B093890060918E00A7
|
||||
:1009A00070918F0090E080E0CDD0A5019401E3D05C
|
||||
:1009B0008091820090918300A0918400B091850085
|
||||
:1009C000820F931FA41FB51F809382009093830012
|
||||
:1009D000A0938400B0938500B39B4DC01092620039
|
||||
:1009E0009ADC60E080E079DC80916100882309F482
|
||||
:1009F0004EC0809192009091930017DE82E591E0C5
|
||||
:100A000042DD80918A0090918B000FDE8EE491E0B0
|
||||
:100A10003ADD80918E0090918F0007DE8AE491E0AC
|
||||
:100A200032DD60918200709183008091840090910A
|
||||
:100A30008500A70196019FD0C901F7DD86E491E00A
|
||||
:100A400022DD109160001D27109360003FDC812F94
|
||||
:100A500031DC2BDC8091670094E08927809367006C
|
||||
:100A600064E670E080E090E0CEDB24CF10928F004F
|
||||
:100A700010928E0030CF809162008111B1CF8091B1
|
||||
:100A800061008C2780936100C0936200A9CF8091A0
|
||||
:100A9000650090916600C9DD82E491E0F4DC80910C
|
||||
:100AA000900090919100C1DD8EE391E0ECDC8091AB
|
||||
:100AB000630090916400B9DD8AE391E0E4DC809109
|
||||
:100AC0008C0090918D00B1DD86E391E0B9CFEDE926
|
||||
:100AD000F0E0138212828CE690E09183808380EEB6
|
||||
:100AE00092E090937F0080937E008BEC92E0909355
|
||||
:100AF0007D0080937C0080E892E090937900809361
|
||||
:100B000078008DED92E090937B0080937A000895B9
|
||||
:100B1000002480FD060E660F11F08695D1F7802D1A
|
||||
:100B200008950024552704C0080E591F880F991FE7
|
||||
:100B3000009729F076956795B8F37105B9F7802D80
|
||||
:100B4000952F0895EE27FF27AA27BB2708C0A20FDD
|
||||
:100B5000B31FE41FF51F220F331F441F551F969527
|
||||
:100B600087957795679598F37040A9F7009799F75F
|
||||
:100B7000BD01CF010895A1E21A2EAA1BBB1BFD01E6
|
||||
:100B80000DC0AA1FBB1FEE1FFF1FA217B307E4076C
|
||||
:100B9000F50720F0A21BB30BE40BF50B661F771FC4
|
||||
:100BA000881F991F1A9469F76095709580959095A4
|
||||
:100BB0009B01AC01BD01CF010895EE0FFF1F059011
|
||||
:0A0BC000F491E02D0994F894FFCFA2
|
||||
:100BCA00400101FFFFFFFFB000000000C7012D0137
|
||||
:080BDA001E00080229392A005F
|
||||
:00000001FF
|
||||
|
|
@ -1,238 +0,0 @@
|
|||
:10000000CFC0F3C0F2C0F1C0F0C0C8C3EEC0EDC0B5
|
||||
:10001000ECC0EBC0EAC0E9C0E8C0E7C0E6C0000041
|
||||
:100020000000000000000030300000000000000070
|
||||
:1000300000000000000000010101010101010000B9
|
||||
:1000400000000000000000000000000000000000B0
|
||||
:10005000C038E0000000203C230202273820087846
|
||||
:10006000880000C83808000007380E010000F808B2
|
||||
:1000700000F80008F800033C0700073C03008080FC
|
||||
:10008000808080808000203F20003F20003F08F8D3
|
||||
:10009000008080800000203F210000203F2000E001
|
||||
:1000A00010080810E000000F102020100F000010B2
|
||||
:1000B00010F8000000000020203F20200000007009
|
||||
:1000C0000808088870000030282422213000003001
|
||||
:1000D0000888884830000018202020110E000000F9
|
||||
:1000E000C02010F8000000070424243F240000F87A
|
||||
:1000F0000888880808000019212020110E0000E05F
|
||||
:10010000108888180000000F112020110E00003800
|
||||
:100110000808C83808000000003F00000000007018
|
||||
:10012000880808887000001C222121221C0000E0A1
|
||||
:1001300010080810E0000000312222110F0000001A
|
||||
:1001400000C0C00000000000003030000000C030DF
|
||||
:10015000C828E810E0000718272423140B00C8A1C2
|
||||
:10016000A81FDA028D143A003A002E2D2F00280025
|
||||
:100170002E2B2F0028002E2D2A002A292A002E2B74
|
||||
:100180002A002A292A002E2C2A002A292A002E2B6E
|
||||
:100190002F002E2B2A002E2D2A002E2C2A00DA06C4
|
||||
:1001A00011241FBECFE5D1E0DEBFCDBF20E0A8E720
|
||||
:1001B000B0E001C01D92A43BB207E1F710E0A0E659
|
||||
:1001C000B0E0E0EBFEE002C005900D92A837B10769
|
||||
:1001D000D9F710E0C0EDD0E003C02197FE0160D652
|
||||
:1001E000CF3CD107D1F724D361C60ACFC09AC29AB7
|
||||
:1001F000BA9AB89A8FEF8FB98AE28DB980EF8EB92B
|
||||
:1002000008953FB7F8948091A8009091A900A0911B
|
||||
:10021000AA00B091AB0022B708B601FE05C02F3F7F
|
||||
:1002200019F00196A11DB11D3FBFBA2FA92F982F1C
|
||||
:100230008827BC01CD01620F711D811D911D43E016
|
||||
:10024000660F771F881F991F4A95D1F70895CF929F
|
||||
:10025000DF92EF92FF92CF93DF936B017C01D1DFAE
|
||||
:10026000EB01CFDF6C1B7D0B683E7340A0F0C11427
|
||||
:10027000D104E104F10439F4DF91CF91FF90EF90C4
|
||||
:10028000DF90CF90089581E0C81AD108E108F10805
|
||||
:10029000C851DC4FE6CFC114D104E104F10409F7E1
|
||||
:1002A000EBCFCF92DF92EF92FF920F931F93CF93FA
|
||||
:1002B000DF936C01EB017B01E40EF51E10E000E022
|
||||
:1002C000CE15DF0561F06991D601ED91FC910190A9
|
||||
:1002D000F081E02DC6010995080F191FF1CFC80163
|
||||
:1002E000DF91CF911F910F91FF90EF90DF90CF9012
|
||||
:1002F0000895E0917A00F0917B000994E0917800F4
|
||||
:10030000F09179000994E0917C00F0917D000995CD
|
||||
:1003100080E4F4CFE0917C00F0917D00099580E0CD
|
||||
:10032000EDCF1F93CF93DF93C82F162FD62FD77003
|
||||
:1003300080916800D82BEEDF8D2FE0DF8C2F829527
|
||||
:100340008F708061DBDF8C2F8F70D8DFD2DFC0939E
|
||||
:10035000B1001093B000DF91CF911F9108950F93DA
|
||||
:100360001F93CF93DF93C0E010E86C2F80E0D9DFBC
|
||||
:100370008091B100012F081B81F01093B100C3DF01
|
||||
:10038000D0E080E0BBDF811104C0B3DFBCDF80E0E0
|
||||
:10039000B5DFDF5F0D13F5CFACDFCF5FC43029F7DA
|
||||
:1003A00060E080E0DF91CF911F910F91BACF8091F3
|
||||
:1003B000B000860F24E030E0261B310982171306B7
|
||||
:1003C00009F034F48093B0006091B00080E0A9CFD0
|
||||
:1003D00084E0861BF7CFAF92BF92CF92DF92EF926D
|
||||
:1003E000FF920F931F93CF93DF93E0918000F091E2
|
||||
:1003F0008100309741F06D3031F0D62FC3816A30E3
|
||||
:1004000079F46C2FD4DF81E090E0DF91CF911F91E0
|
||||
:100410000F91FF90EF90DF90CF90BF90AF90089535
|
||||
:10042000A2804091B100EA2CF12C20E830E02E1996
|
||||
:100430003F094217130619F014F06C2FB8DFE09152
|
||||
:100440008000F091810024818C2F90E0B701DCD4F2
|
||||
:10045000BC014D2F421B550BCA01D6D48C01BC2EBA
|
||||
:1004600052DFC801282F201B2A15C0F46C015FEF52
|
||||
:10047000C51AD50AE0918000F09181000190F081C9
|
||||
:10048000E02DE80FF91FD4918D2F38DF811104C0C2
|
||||
:1004900030DF39DF8D2F32DFC601E4CF0E0D1F1D97
|
||||
:1004A00028DF8091B100C13039F48A0D8093B1000A
|
||||
:1004B000BA94B110D5CFA7CF6091B0006F5F91E033
|
||||
:1004C0009B1510F42EDFF4CF6C1B8A0DFBCF0F931E
|
||||
:1004D0001F93CF93DF938C01D0E0C0E0F801EC0FC5
|
||||
:1004E000FD1F6491662339F08CEA90E074DF892B5C
|
||||
:1004F00011F02196F3CFCE01DF91CF911F910F9193
|
||||
:1005000008958EB98BE295E09A95F1F700008DB9C8
|
||||
:10051000B29BFECF92E09A95F1F700C08DB9769B21
|
||||
:10052000F2CF85E08A95F1F700008FB19FEF9FB978
|
||||
:10053000B89A0895C2988FB980EFE3DFB8988EEF2C
|
||||
:10054000E0DF809581700895F5CFCF938091B20060
|
||||
:100550009091B3009C012F5F3F4F2230310528F06E
|
||||
:1005600001979093B3008093B200B89880EFC9DFF1
|
||||
:10057000C82F8091B2009091B300892B39F48FEF8E
|
||||
:100580008FB98EEFBEDF8C2FCF9108951FB8F9CFB2
|
||||
:100590006115710531F07093B3006093B20061E0B2
|
||||
:1005A00070E0C29AB29BFECF92E09A95F1F700C03C
|
||||
:1005B000C09892E09A95F1F700C0C298C09A779BD4
|
||||
:1005C0000CC0C298880F862B8FB980EF9ADFB8983D
|
||||
:1005D0008EEF97DF80958170089580E0089570E038
|
||||
:1005E00060E08CE3D5CFC098C29AB29BFECF82E088
|
||||
:1005F0008A95F1F700C0C09A85E08A95F1F700006E
|
||||
:100600000895F1DF80E00895F1DDE9DF811106C092
|
||||
:100610006AE070E080E090E01ADEF7CFF2CFCF938F
|
||||
:10062000DF93C82F70E060E080E4B2DF8C2F82DFC0
|
||||
:1006300062E070E080E4ACDF88DFC82F86DFDC2F6B
|
||||
:10064000C82FD1DFCE01DF91CF9108951F93CF93B3
|
||||
:10065000DF93182FEB0170E060E080E499DF812FD9
|
||||
:1006600069DF8D2F67DF8C2F65DFDF91CF911F91C1
|
||||
:10067000BACF4F925F926F927F928F929F92AF927A
|
||||
:10068000BF92CF92DF92EF92FF920F931F93CF937F
|
||||
:10069000DF93CDB7DEB7A1970FB6F894DEBF0FBEDC
|
||||
:1006A000CDBF6B017C01142F022F812C912C5401A2
|
||||
:1006B0008394C114D104E104F10411F04B015C01F5
|
||||
:1006C000412C512C32014394115051F02AE030E07A
|
||||
:1006D00040E050E0C301B201A8D32B013C01F4CFAC
|
||||
:1006E00084149504A604B70470F4602F8CEA90E09B
|
||||
:1006F00072DE2AE030E040E050E0C501B40195D35D
|
||||
:100700004B015C01EDCF19A28E010F5D1F4F8AE0F6
|
||||
:10071000882E912CA12CB12CC701B601A501940102
|
||||
:100720009DD3822F6AE067D39C2D981B892F9A3026
|
||||
:100730006CF5805DF80182938F0169017A01C11423
|
||||
:10074000D104E104F10441F701900020E9F7319769
|
||||
:10075000AF01401B510BB8018CEA90E0A2DDA196DD
|
||||
:100760000FB6F894DEBF0FBECDBFDF91CF911F91C2
|
||||
:100770000F91FF90EF90DF90CF90BF90AF909F9040
|
||||
:100780008F907F906F905F904F900895895CD2CF4B
|
||||
:10079000BC0190E080E02AE245E06BCF1F920F920F
|
||||
:1007A0000FB60F9211242F933F938F939F93AF9384
|
||||
:1007B000BF938091A4009091A500A091A600B09154
|
||||
:1007C000A7003091A30026E0230F2D3768F129E818
|
||||
:1007D000230F0396A11DB11D2093A3008093A400B5
|
||||
:1007E0009093A500A093A600B093A7008091A800C5
|
||||
:1007F0009091A900A091AA00B091AB000196A11D13
|
||||
:10080000B11D8093A8009093A900A093AA00B09373
|
||||
:10081000AB00BF91AF919F918F913F912F910F901E
|
||||
:100820000FBE0F901F9018950296A11DB11DD4CF39
|
||||
:10083000CF93DF9300D000D000D0CDB7DEB781B723
|
||||
:1008400081BF78948AB582608ABD8AB581608ABD8D
|
||||
:1008500083B7887F836083BF789489B7826089BFBC
|
||||
:1008600080B7807F80BF80B7806880BF80B780649A
|
||||
:1008700080BF8CB580648CBD8FEF8DBD80B78760E5
|
||||
:1008800080BF86B18877866886B9379A17BA88E0BC
|
||||
:1008900088BBACDC67E676E080E0D8DE60E074E13F
|
||||
:1008A00085E0D4DEE0917E00F0917F00099532DD95
|
||||
:1008B0002EE531E03A83298356E6E52E51E0F52E08
|
||||
:1008C000E981FA811491812F19DD811104C011DDB4
|
||||
:1008D00021DD812F13DD29813A812F5F3F4F3A833C
|
||||
:1008E0002983E216F30661F704DD81E790E0909337
|
||||
:1008F00081008093800033DD0DDD8FEAFFDCF9DCC1
|
||||
:100900008091680094E08927809368002FB7F8945D
|
||||
:100910008091A4009091A500A091A600B091A7009D
|
||||
:100920002FBF8093950090939600A0939700B0936B
|
||||
:1009300098008093990090939A00A0939B00B093A5
|
||||
:100940009C0038EEC32E33E0D32EE12CF12C40E195
|
||||
:10095000442E4EE0542E612C712C3324339482E0CB
|
||||
:100960005EDE969587958C7F9093A2008093A10080
|
||||
:1009700084E055DE97FD15C19093A00080939F0001
|
||||
:100980006091A1007091A20090E080E020919F0012
|
||||
:100990003091A00050E040E048D2A70196015ED21D
|
||||
:1009A00030939E0020939D008FB7F8948090A40010
|
||||
:1009B0009090A500A090A600B090A7008FBF809156
|
||||
:1009C000990090919A00A0919B00B0919C00A50184
|
||||
:1009D0009401281B390B4A0B5B0B29833A834B8309
|
||||
:1009E0005C838091950090919600A0919700B091C2
|
||||
:1009F0009800A5019401281B390B4A0B5B0BCA0117
|
||||
:100A0000B901A70196012AD2209391003093920058
|
||||
:100A100040939300509394008092990090929A0092
|
||||
:100A2000A0929B00B0929C0000919F001091A000AA
|
||||
:100A3000B80190E080E029813A814B815C81F5D159
|
||||
:100A4000A30192010BD280918D0090918E00A09114
|
||||
:100A50008F00B0919000820F931FA41FB51F809349
|
||||
:100A60008D0090938E00A0938F00B09390004091E2
|
||||
:100A70009D0050919E005E834D83BA0190E080E01E
|
||||
:100A800029813A814B815C81D0D1A3019201E6D1C9
|
||||
:100A90008091890090918A00A0918B00B0918C0088
|
||||
:100AA000820F931FA41FB51F8093890090938A0023
|
||||
:100AB000A0938B00B0938C008091A1009091A20034
|
||||
:100AC00020916600309167008217930720F490937D
|
||||
:100AD0006700809366002091870030918800281776
|
||||
:100AE000390720F4909388008093870080916400F8
|
||||
:100AF000909165000817190720F410936500009382
|
||||
:100B0000640080918500909186008017910720F401
|
||||
:100B1000109386000093850080916200909163009D
|
||||
:100B2000ED81FE81E817F90720F4F0936300E0936C
|
||||
:100B3000620080918300909184002D813E81821714
|
||||
:100B4000930720F43093840020938300B39B2EC03E
|
||||
:100B50001092610004DC60E080E0E3DB80918200C1
|
||||
:100B6000823009F4C9C098F5882309F47CC081302B
|
||||
:100B700009F4A2C03091600080E2382739833093B5
|
||||
:100B80006000C8DB8981BADBB4DB8091680094E047
|
||||
:100B900089278093680064E670E080E090E057DB8E
|
||||
:100BA000DECE1092A00010929F00EACE80916100EC
|
||||
:100BB0008111D0CF809182008F5F853028F480939F
|
||||
:100BC000820030926100C6CF10928200FACF83304B
|
||||
:100BD00009F4A5C0843071F661E080E2A2DB609187
|
||||
:100BE0009100709192008091930090919400A301E4
|
||||
:100BF000920134D1CA01B90120E342E03ADD88E62E
|
||||
:100C000091E065DC60919100709192008091930079
|
||||
:100C100090919400A301920121D16093910070936F
|
||||
:100C2000920080939300909394002CE330E040E096
|
||||
:100C300050E014D1CA01B90120E342E01ADD86E692
|
||||
:100C400091E045DC60919100709192008091930059
|
||||
:100C5000909194002CE330E040E050E0FFD020E39E
|
||||
:100C600042E007DD87CF8091A1009091A20090DD46
|
||||
:100C70008AE991E02CDC80919D0090919E0088DDB6
|
||||
:100C800086E991E024DC80919F009091A00080DDB6
|
||||
:100C900082E991E01CDC60918D0070918E00809162
|
||||
:100CA0008F0090919000A7019601D8D0C90170DD06
|
||||
:100CB0008EE891E00CDC5ECF809166009091670039
|
||||
:100CC00067DD8AE891E003DC8091870090918800DD
|
||||
:100CD0005FDD86E891E0FBDB809164009091650028
|
||||
:100CE00057DD82E891E0F3DB8091850090918600EA
|
||||
:100CF0004FDD8EE791E0DECF61E080E012DB809196
|
||||
:100D000062009091630044DD8AE791E0E0DB80912E
|
||||
:100D10008300909184003CDD86E791E0CBCF609129
|
||||
:100D20008D0070918E0080918F0090919000A701AE
|
||||
:100D3000960194D0CA01B9012AE247E09ADC84E71F
|
||||
:100D400091E0C5DB60918D0070918E0080918F00E5
|
||||
:100D500090919000A701960181D020E343E089DCC7
|
||||
:100D600080E791E0B4DB62E080E0DBDA609189004B
|
||||
:100D700070918A0080918B0090918C00A701960160
|
||||
:100D80006DD0CA01B9012AE247E073DC8EE691E03A
|
||||
:100D90009EDB6091890070918A0080918B00909118
|
||||
:100DA0008C00A70196015AD020E343E062DC8AE67A
|
||||
:100DB00091E080CFECEAF0E0138212828DE690E0C1
|
||||
:100DC0009183808384E093E090937F0080937E0002
|
||||
:100DD0008FEE92E090937D0080937C0084EA92E015
|
||||
:100DE000909379008093780081E093E090937B006A
|
||||
:100DF00080937A000895002480FD060E660F11F09E
|
||||
:100E00008695D1F7802D08950024552704C0080E3B
|
||||
:100E1000591F880F991F009729F076956795B8F3A9
|
||||
:100E20007105B9F7802D952F0895EE27FF27AA2782
|
||||
:100E3000BB2708C0A20FB31FE41FF51F220F331FEB
|
||||
:100E4000441F551F969587957795679598F3704041
|
||||
:100E5000A9F7009799F7BD01CF010895A1E21A2ED5
|
||||
:100E6000AA1BBB1BFD010DC0AA1FBB1FEE1FFF1F4E
|
||||
:100E7000A217B307E407F50720F0A21BB30BE40B9E
|
||||
:100E8000F50B661F771F881F991F1A9469F76095E5
|
||||
:100E90007095809590959B01AC01BD01CF0108959F
|
||||
:100EA000EE0FFF1F0590F491E02D0994F894FFCF09
|
||||
:100EB0004001FFFFFFFFFFFFB000000000EB01510A
|
||||
:080EC000011E000802283B009E
|
||||
:00000001FF
|
||||
|
|
@ -1,192 +0,0 @@
|
|||
:10000000ABC0CFC0CEC0CDC0CCC08AC3CAC0C9C0EF
|
||||
:10001000C8C0C7C0C6C0C5C0C4C0C3C0C2C000003D
|
||||
:1000200000000000000000010101010101010000C9
|
||||
:1000300000000000000000000000000000000000C0
|
||||
:10004000C038E0000000203C230202273820087856
|
||||
:10005000880000C83808000007380E010000F808C2
|
||||
:1000600000F80008F800033C0700073C030080800C
|
||||
:10007000808080808000203F20003F20003F08F8E3
|
||||
:10008000008080800000203F210000203F2000E011
|
||||
:1000900010080810E000000F102020100F000010C2
|
||||
:1000A00010F8000000000020203F20200000007019
|
||||
:1000B0000808088870000030282422213000003011
|
||||
:1000C0000888884830000018202020110E00000009
|
||||
:1000D000C02010F8000000070424243F240000F88A
|
||||
:1000E0000888880808000019212020110E0000E06F
|
||||
:1000F000108888180000000F112020110E00003811
|
||||
:100100000808C83808000000003F00000000007028
|
||||
:10011000880808887000001C222121221C0000E0B1
|
||||
:1001200010080810E0000000312222110F00C8A1C1
|
||||
:10013000A81FDA028D142E2B2A002A292A002E2C21
|
||||
:100140002A002A292A002E2B2F002E2B2A002E2DA2
|
||||
:100150002A002E2C2A00670511241FBECFE5D2E00D
|
||||
:10016000DEBFCDBF20E0A8E7B0E001C01D92A53AF8
|
||||
:10017000B207E1F710E0A0E6B0E0EAECFBE002C075
|
||||
:1001800005900D92A837B107D9F710E0CCEAD0E07E
|
||||
:1001900003C02197FE0111D5CB3AD107D1F70AD37D
|
||||
:1001A00012C52ECFC09AC29ABA9AB89A8FEF8FB959
|
||||
:1001B0008AE28DB980EF8EB908953FB7F8948091A7
|
||||
:1001C000990090919A00A0919B00B0919C0022B759
|
||||
:1001D00008B601FE05C02F3F19F00196A11DB11D03
|
||||
:1001E0003FBFBA2FA92F982F8827BC01CD01620FDE
|
||||
:1001F000711D811D911D43E0660F771F881F991F98
|
||||
:100200004A95D1F70895CF92DF92EF92FF92CF9364
|
||||
:10021000DF936B017C01D1DFEB01CFDF6C1B7D0B2A
|
||||
:10022000683E7340A0F0C114D104E104F10439F434
|
||||
:10023000DF91CF91FF90EF90DF90CF90089581E014
|
||||
:10024000C81AD108E108F108C851DC4FE6CFC11443
|
||||
:10025000D104E104F10409F7EBCFCF92DF92EF92E2
|
||||
:10026000FF920F931F93CF93DF936C01EB017B0100
|
||||
:10027000E40EF51E10E000E0CE15DF0561F0699197
|
||||
:10028000D601ED91FC910190F081E02DC601099518
|
||||
:10029000080F191FF1CFC801DF91CF911F910F9166
|
||||
:1002A000FF90EF90DF90CF900895E0917A00F09169
|
||||
:1002B0007B000994E0917800F09179000994E09135
|
||||
:1002C0007C00F0917D00099580E4F4CFE0917C0002
|
||||
:1002D000F0917D00099580E0EDCF1F93CF93DF93E0
|
||||
:1002E000C82F162FD62FD77080916700D82BEEDF3E
|
||||
:1002F0008D2FE0DF8C2F82958F708061DBDF8C2F5C
|
||||
:100300008F70D8DFD2DFC093A2001093A100DF91DD
|
||||
:10031000CF911F9108950F931F93CF93DF93C0E068
|
||||
:1003200010E86C2F80E0D9DF8091A200012F081B1C
|
||||
:1003300081F01093A200C3DFD0E080E0BBDF811129
|
||||
:1003400004C0B3DFBCDF80E0B5DFDF5F0D13F5CFA6
|
||||
:10035000ACDFCF5FC43029F760E080E0DF91CF9160
|
||||
:100360001F910F91BACF8091A100860F24E030E059
|
||||
:10037000261B31098217130609F034F48093A1007B
|
||||
:100380006091A10080E0A9CF84E0861BF7CFAF92F7
|
||||
:10039000BF92CF92DF92EF92FF920F931F93CF9372
|
||||
:1003A000DF93E0918000F0918100309741F06D3053
|
||||
:1003B00031F0D62FC3816A3079F46C2FD4DF81E01D
|
||||
:1003C00090E0DF91CF911F910F91FF90EF90DF9020
|
||||
:1003D000CF90BF90AF900895A2804091A200EA2CE8
|
||||
:1003E000F12C20E830E02E193F094217130619F0CE
|
||||
:1003F00014F06C2FB8DFE0918000F091810024812F
|
||||
:100400008C2F90E0B7018DD3BC014D2F421B550BB3
|
||||
:10041000CA0187D38C01BC2E52DFC801282F201BB4
|
||||
:100420002A15C0F46C015FEFC51AD50AE09180006F
|
||||
:10043000F09181000190F081E02DE80FF91FD49137
|
||||
:100440008D2F38DF811104C030DF39DF8D2F32DF8F
|
||||
:10045000C601E4CF0E0D1F1D28DF8091A200C13020
|
||||
:1004600039F48A0D8093A200BA94B110D5CFA7CFEA
|
||||
:100470006091A1006F5F91E09B1510F42EDFF4CF27
|
||||
:100480006C1B8A0DFBCF0F931F93CF93DF938C01CF
|
||||
:10049000D0E0C0E0F801EC0FFD1F6491662339F055
|
||||
:1004A0008DE990E074DF892B11F02196F3CFCE0116
|
||||
:1004B000DF91CF911F910F9108958EB98BE295E056
|
||||
:1004C0009A95F1F700008DB9B29BFECF92E09A9514
|
||||
:1004D000F1F700C08DB9769BF2CF85E08A95F1F7F0
|
||||
:1004E00000008FB19FEF9FB9B89A0895C2988FB955
|
||||
:1004F00080EFE3DFB8988EEFE0DF8095817008959C
|
||||
:10050000F5CFCF938091A3009091A4009C012F5F21
|
||||
:100510003F4F2230310528F001979093A40080933B
|
||||
:10052000A300B89880EFC9DFC82F8091A3009091F5
|
||||
:10053000A400892B39F48FEF8FB98EEFBEDF8C2F9B
|
||||
:10054000CF9108951FB8F9CF6115710531F07093FF
|
||||
:10055000A4006093A30061E070E0C29AB29BFECF5A
|
||||
:1005600092E09A95F1F700C0C09892E09A95F1F761
|
||||
:1005700000C0C298C09A779B0CC0C298880F862B87
|
||||
:100580008FB980EF9ADFB8988EEF97DF80958170F2
|
||||
:10059000089580E0089570E060E08CE3D5CFC098C6
|
||||
:1005A000C29AB29BFECF82E08A95F1F700C0C09A52
|
||||
:1005B00085E08A95F1F700000895F1DF80E0089565
|
||||
:1005C000F1DDE9DF811106C06AE070E080E090E0D3
|
||||
:1005D0001ADEF7CFF2CFCF93DF93C82F70E060E041
|
||||
:1005E00080E4B2DF8C2F82DF62E070E080E4ACDF79
|
||||
:1005F00088DFC82F86DFDC2FC82FD1DFCE01DF9147
|
||||
:10060000CF9108951F93CF93DF93182FEB0170E0E4
|
||||
:1006100060E080E499DF812F69DF8D2F67DF8C2F09
|
||||
:1006200065DFDF91CF911F91BACF8F929F92AF92EA
|
||||
:10063000BF92CF92DF92EF92FF920F931F93CF93CF
|
||||
:10064000DF93CDB7DEB7A1970FB6F894DEBF0FBE2C
|
||||
:10065000CDBF6C01F12CE12C812C912C54018394A1
|
||||
:10066000C114D104E104F10411F04601570180E105
|
||||
:10067000881687E29806A104B10488F441E050E0AE
|
||||
:1006800066E770E08DE990E0E8DD2AE030E040E0E8
|
||||
:1006900050E0C501B40156D24B015C01E8CF19A26C
|
||||
:1006A0008E010F5D1F4F8AE0882E912CA12CB12C5A
|
||||
:1006B000C701B601A50194015ED2822F6AE028D25B
|
||||
:1006C0009C2D981B892F9A304CF5805DF801829300
|
||||
:1006D0008F0169017A01C114D104E104F10441F7E9
|
||||
:1006E00001900020E9F73197AF01401B510BB80191
|
||||
:1006F0008DE990E0B2DDA1960FB6F894DEBF0FBE93
|
||||
:10070000CDBFDF91CF911F910F91FF90EF90DF90C0
|
||||
:10071000CF90BF90AF909F908F900895895CD6CF77
|
||||
:100720001F920F920FB60F9211242F933F938F9326
|
||||
:100730009F93AF93BF938091950090919600A09165
|
||||
:100740009700B09198003091940026E0230F2D3748
|
||||
:1007500068F129E8230F0396A11DB11D2093940091
|
||||
:100760008093950090939600A0939700B093980083
|
||||
:100770008091990090919A00A0919B00B0919C006B
|
||||
:100780000196A11DB11D8093990090939A00A093AA
|
||||
:100790009B00B0939C00BF91AF919F918F913F912F
|
||||
:1007A0002F910F900FBE0F901F9018950296A11DCC
|
||||
:1007B000B11DD4CF81B781BF78948AB582608ABDDC
|
||||
:1007C0008AB581608ABD83B7887F836083BF789450
|
||||
:1007D00089B7826089BF80B7807F80BF80B780681B
|
||||
:1007E00080BF80B7806480BF8CB580648CBD8FEF84
|
||||
:1007F0008DBD80B7876080BF86B18877866886B9EF
|
||||
:10080000379A17BA88E088BBCDDC67E676E080E0EF
|
||||
:10081000F9DE60E074E185E0F5DEE0917E00F091C4
|
||||
:100820007F00099553DDCEE2D1E056E3E52E51E09D
|
||||
:10083000F52EFE011491812F3DDD811104C035DDBF
|
||||
:1008400045DD812F37DD2196EC16FD0691F72DDD74
|
||||
:1008500080E790E090938100809380005CDD36DD3E
|
||||
:100860008FEA28DD22DD8091670094E0892780935C
|
||||
:1008700067002FB7F8948091950090919600A09111
|
||||
:100880009700B09198002FBF8093860090938700C7
|
||||
:10089000A0938800B093890038EEC32E33E0D32EA6
|
||||
:1008A000E12CF12C40E1842E4EE0942EA12CB12CB1
|
||||
:1008B000C1E0D0E282E08FDE969587958C7F9093A1
|
||||
:1008C00093008093920084E086DE97FDCFC09093E2
|
||||
:1008D0008F0080938E0060919200709193008091C0
|
||||
:1008E0006500909166006817790720F470936600A0
|
||||
:1008F0006093650080919000909191008617970712
|
||||
:1009000020F4709391006093900020918E003091BC
|
||||
:100910008F0080916300909164002817390720F4BC
|
||||
:10092000309364002093630080918C0090918D003F
|
||||
:100930008217930720F430938D0020938C0090E071
|
||||
:1009400080E050E040E0FED0A701960114D1309342
|
||||
:100950008B0020938A002FB7F89480919500909196
|
||||
:100960009600A0919700B09198002FBF409186000B
|
||||
:100970005091870060918800709189002C013D01A1
|
||||
:10098000441A550A660A770AA301920180938600E9
|
||||
:1009900090938700A0938800B093890060918E00A7
|
||||
:1009A00070918F0090E080E0CDD0A5019401E3D05C
|
||||
:1009B0008091820090918300A0918400B091850085
|
||||
:1009C000820F931FA41FB51F809382009093830012
|
||||
:1009D000A0938400B0938500B39B4DC01092620039
|
||||
:1009E0009ADC60E080E079DC80916100882309F482
|
||||
:1009F0004EC0809192009091930017DE82E591E0C5
|
||||
:100A000042DD80918A0090918B000FDE8EE491E0B0
|
||||
:100A10003ADD80918E0090918F0007DE8AE491E0AC
|
||||
:100A200032DD60918200709183008091840090910A
|
||||
:100A30008500A70196019FD0C901F7DD86E491E00A
|
||||
:100A400022DD109160001D27109360003FDC812F94
|
||||
:100A500031DC2BDC8091670094E08927809367006C
|
||||
:100A600064E670E080E090E0CEDB24CF10928F004F
|
||||
:100A700010928E0030CF809162008111B1CF8091B1
|
||||
:100A800061008C2780936100C0936200A9CF8091A0
|
||||
:100A9000650090916600C9DD82E491E0F4DC80910C
|
||||
:100AA000900090919100C1DD8EE391E0ECDC8091AB
|
||||
:100AB000630090916400B9DD8AE391E0E4DC809109
|
||||
:100AC0008C0090918D00B1DD86E391E0B9CFEDE926
|
||||
:100AD000F0E0138212828CE690E09183808380EEB6
|
||||
:100AE00092E090937F0080937E008BEC92E0909355
|
||||
:100AF0007D0080937C0080E892E090937900809361
|
||||
:100B000078008DED92E090937B0080937A000895B9
|
||||
:100B1000002480FD060E660F11F08695D1F7802D1A
|
||||
:100B200008950024552704C0080E591F880F991FE7
|
||||
:100B3000009729F076956795B8F37105B9F7802D80
|
||||
:100B4000952F0895EE27FF27AA27BB2708C0A20FDD
|
||||
:100B5000B31FE41FF51F220F331F441F551F969527
|
||||
:100B600087957795679598F37040A9F7009799F75F
|
||||
:100B7000BD01CF010895A1E21A2EAA1BBB1BFD01E6
|
||||
:100B80000DC0AA1FBB1FEE1FFF1FA217B307E4076C
|
||||
:100B9000F50720F0A21BB30BE40BF50B661F771FC4
|
||||
:100BA000881F991F1A9469F76095709580959095A4
|
||||
:100BB0009B01AC01BD01CF010895EE0FFF1F059011
|
||||
:0A0BC000F491E02D0994F894FFCFA2
|
||||
:100BCA00400101FFFFFFFFB000000000C7012D0137
|
||||
:080BDA001E00080229392A005F
|
||||
:00000001FF
|
||||
|
|
@ -1,238 +0,0 @@
|
|||
:10000000CFC0F3C0F2C0F1C0F0C0C8C3EEC0EDC0B5
|
||||
:10001000ECC0EBC0EAC0E9C0E8C0E7C0E6C0000041
|
||||
:100020000000000000000030300000000000000070
|
||||
:1000300000000000000000010101010101010000B9
|
||||
:1000400000000000000000000000000000000000B0
|
||||
:10005000C038E0000000203C230202273820087846
|
||||
:10006000880000C83808000007380E010000F808B2
|
||||
:1000700000F80008F800033C0700073C03008080FC
|
||||
:10008000808080808000203F20003F20003F08F8D3
|
||||
:10009000008080800000203F210000203F2000E001
|
||||
:1000A00010080810E000000F102020100F000010B2
|
||||
:1000B00010F8000000000020203F20200000007009
|
||||
:1000C0000808088870000030282422213000003001
|
||||
:1000D0000888884830000018202020110E000000F9
|
||||
:1000E000C02010F8000000070424243F240000F87A
|
||||
:1000F0000888880808000019212020110E0000E05F
|
||||
:10010000108888180000000F112020110E00003800
|
||||
:100110000808C83808000000003F00000000007018
|
||||
:10012000880808887000001C222121221C0000E0A1
|
||||
:1001300010080810E0000000312222110F0000001A
|
||||
:1001400000C0C00000000000003030000000C030DF
|
||||
:10015000C828E810E0000718272423140B00C8A1C2
|
||||
:10016000A81FDA028D143A003A002E2D2F00280025
|
||||
:100170002E2B2F0028002E2D2A002A292A002E2B74
|
||||
:100180002A002A292A002E2C2A002A292A002E2B6E
|
||||
:100190002F002E2B2A002E2D2A002E2C2A00DA06C4
|
||||
:1001A00011241FBECFE5D2E0DEBFCDBF20E0A8E71F
|
||||
:1001B000B0E001C01D92A43BB207E1F710E0A0E659
|
||||
:1001C000B0E0E0EBFEE002C005900D92A837B10769
|
||||
:1001D000D9F710E0C0EDD0E003C02197FE0160D652
|
||||
:1001E000CF3CD107D1F724D361C60ACFC09AC29AB7
|
||||
:1001F000BA9AB89A8FEF8FB98AE28DB980EF8EB92B
|
||||
:1002000008953FB7F8948091A8009091A900A0911B
|
||||
:10021000AA00B091AB0022B708B601FE05C02F3F7F
|
||||
:1002200019F00196A11DB11D3FBFBA2FA92F982F1C
|
||||
:100230008827BC01CD01620F711D811D911D43E016
|
||||
:10024000660F771F881F991F4A95D1F70895CF929F
|
||||
:10025000DF92EF92FF92CF93DF936B017C01D1DFAE
|
||||
:10026000EB01CFDF6C1B7D0B683E7340A0F0C11427
|
||||
:10027000D104E104F10439F4DF91CF91FF90EF90C4
|
||||
:10028000DF90CF90089581E0C81AD108E108F10805
|
||||
:10029000C851DC4FE6CFC114D104E104F10409F7E1
|
||||
:1002A000EBCFCF92DF92EF92FF920F931F93CF93FA
|
||||
:1002B000DF936C01EB017B01E40EF51E10E000E022
|
||||
:1002C000CE15DF0561F06991D601ED91FC910190A9
|
||||
:1002D000F081E02DC6010995080F191FF1CFC80163
|
||||
:1002E000DF91CF911F910F91FF90EF90DF90CF9012
|
||||
:1002F0000895E0917A00F0917B000994E0917800F4
|
||||
:10030000F09179000994E0917C00F0917D000995CD
|
||||
:1003100080E4F4CFE0917C00F0917D00099580E0CD
|
||||
:10032000EDCF1F93CF93DF93C82F162FD62FD77003
|
||||
:1003300080916800D82BEEDF8D2FE0DF8C2F829527
|
||||
:100340008F708061DBDF8C2F8F70D8DFD2DFC0939E
|
||||
:10035000B1001093B000DF91CF911F9108950F93DA
|
||||
:100360001F93CF93DF93C0E010E86C2F80E0D9DFBC
|
||||
:100370008091B100012F081B81F01093B100C3DF01
|
||||
:10038000D0E080E0BBDF811104C0B3DFBCDF80E0E0
|
||||
:10039000B5DFDF5F0D13F5CFACDFCF5FC43029F7DA
|
||||
:1003A00060E080E0DF91CF911F910F91BACF8091F3
|
||||
:1003B000B000860F24E030E0261B310982171306B7
|
||||
:1003C00009F034F48093B0006091B00080E0A9CFD0
|
||||
:1003D00084E0861BF7CFAF92BF92CF92DF92EF926D
|
||||
:1003E000FF920F931F93CF93DF93E0918000F091E2
|
||||
:1003F0008100309741F06D3031F0D62FC3816A30E3
|
||||
:1004000079F46C2FD4DF81E090E0DF91CF911F91E0
|
||||
:100410000F91FF90EF90DF90CF90BF90AF90089535
|
||||
:10042000A2804091B100EA2CF12C20E830E02E1996
|
||||
:100430003F094217130619F014F06C2FB8DFE09152
|
||||
:100440008000F091810024818C2F90E0B701DCD4F2
|
||||
:10045000BC014D2F421B550BCA01D6D48C01BC2EBA
|
||||
:1004600052DFC801282F201B2A15C0F46C015FEF52
|
||||
:10047000C51AD50AE0918000F09181000190F081C9
|
||||
:10048000E02DE80FF91FD4918D2F38DF811104C0C2
|
||||
:1004900030DF39DF8D2F32DFC601E4CF0E0D1F1D97
|
||||
:1004A00028DF8091B100C13039F48A0D8093B1000A
|
||||
:1004B000BA94B110D5CFA7CF6091B0006F5F91E033
|
||||
:1004C0009B1510F42EDFF4CF6C1B8A0DFBCF0F931E
|
||||
:1004D0001F93CF93DF938C01D0E0C0E0F801EC0FC5
|
||||
:1004E000FD1F6491662339F08CEA90E074DF892B5C
|
||||
:1004F00011F02196F3CFCE01DF91CF911F910F9193
|
||||
:1005000008958EB98BE295E09A95F1F700008DB9C8
|
||||
:10051000B29BFECF92E09A95F1F700C08DB9769B21
|
||||
:10052000F2CF85E08A95F1F700008FB19FEF9FB978
|
||||
:10053000B89A0895C2988FB980EFE3DFB8988EEF2C
|
||||
:10054000E0DF809581700895F5CFCF938091B20060
|
||||
:100550009091B3009C012F5F3F4F2230310528F06E
|
||||
:1005600001979093B3008093B200B89880EFC9DFF1
|
||||
:10057000C82F8091B2009091B300892B39F48FEF8E
|
||||
:100580008FB98EEFBEDF8C2FCF9108951FB8F9CFB2
|
||||
:100590006115710531F07093B3006093B20061E0B2
|
||||
:1005A00070E0C29AB29BFECF92E09A95F1F700C03C
|
||||
:1005B000C09892E09A95F1F700C0C298C09A779BD4
|
||||
:1005C0000CC0C298880F862B8FB980EF9ADFB8983D
|
||||
:1005D0008EEF97DF80958170089580E0089570E038
|
||||
:1005E00060E08CE3D5CFC098C29AB29BFECF82E088
|
||||
:1005F0008A95F1F700C0C09A85E08A95F1F700006E
|
||||
:100600000895F1DF80E00895F1DDE9DF811106C092
|
||||
:100610006AE070E080E090E01ADEF7CFF2CFCF938F
|
||||
:10062000DF93C82F70E060E080E4B2DF8C2F82DFC0
|
||||
:1006300062E070E080E4ACDF88DFC82F86DFDC2F6B
|
||||
:10064000C82FD1DFCE01DF91CF9108951F93CF93B3
|
||||
:10065000DF93182FEB0170E060E080E499DF812FD9
|
||||
:1006600069DF8D2F67DF8C2F65DFDF91CF911F91C1
|
||||
:10067000BACF4F925F926F927F928F929F92AF927A
|
||||
:10068000BF92CF92DF92EF92FF920F931F93CF937F
|
||||
:10069000DF93CDB7DEB7A1970FB6F894DEBF0FBEDC
|
||||
:1006A000CDBF6B017C01142F022F812C912C5401A2
|
||||
:1006B0008394C114D104E104F10411F04B015C01F5
|
||||
:1006C000412C512C32014394115051F02AE030E07A
|
||||
:1006D00040E050E0C301B201A8D32B013C01F4CFAC
|
||||
:1006E00084149504A604B70470F4602F8CEA90E09B
|
||||
:1006F00072DE2AE030E040E050E0C501B40195D35D
|
||||
:100700004B015C01EDCF19A28E010F5D1F4F8AE0F6
|
||||
:10071000882E912CA12CB12CC701B601A501940102
|
||||
:100720009DD3822F6AE067D39C2D981B892F9A3026
|
||||
:100730006CF5805DF80182938F0169017A01C11423
|
||||
:10074000D104E104F10441F701900020E9F7319769
|
||||
:10075000AF01401B510BB8018CEA90E0A2DDA196DD
|
||||
:100760000FB6F894DEBF0FBECDBFDF91CF911F91C2
|
||||
:100770000F91FF90EF90DF90CF90BF90AF909F9040
|
||||
:100780008F907F906F905F904F900895895CD2CF4B
|
||||
:10079000BC0190E080E02AE245E06BCF1F920F920F
|
||||
:1007A0000FB60F9211242F933F938F939F93AF9384
|
||||
:1007B000BF938091A4009091A500A091A600B09154
|
||||
:1007C000A7003091A30026E0230F2D3768F129E818
|
||||
:1007D000230F0396A11DB11D2093A3008093A400B5
|
||||
:1007E0009093A500A093A600B093A7008091A800C5
|
||||
:1007F0009091A900A091AA00B091AB000196A11D13
|
||||
:10080000B11D8093A8009093A900A093AA00B09373
|
||||
:10081000AB00BF91AF919F918F913F912F910F901E
|
||||
:100820000FBE0F901F9018950296A11DB11DD4CF39
|
||||
:10083000CF93DF9300D000D000D0CDB7DEB781B723
|
||||
:1008400081BF78948AB582608ABD8AB581608ABD8D
|
||||
:1008500083B7887F836083BF789489B7826089BFBC
|
||||
:1008600080B7807F80BF80B7806880BF80B780649A
|
||||
:1008700080BF8CB580648CBD8FEF8DBD80B78760E5
|
||||
:1008800080BF86B18877866886B9379A17BA88E0BC
|
||||
:1008900088BBACDC67E676E080E0D8DE60E074E13F
|
||||
:1008A00085E0D4DEE0917E00F0917F00099532DD95
|
||||
:1008B0002EE531E03A83298356E6E52E51E0F52E08
|
||||
:1008C000E981FA811491812F19DD811104C011DDB4
|
||||
:1008D00021DD812F13DD29813A812F5F3F4F3A833C
|
||||
:1008E0002983E216F30661F704DD81E790E0909337
|
||||
:1008F00081008093800033DD0DDD8FEAFFDCF9DCC1
|
||||
:100900008091680094E08927809368002FB7F8945D
|
||||
:100910008091A4009091A500A091A600B091A7009D
|
||||
:100920002FBF8093950090939600A0939700B0936B
|
||||
:1009300098008093990090939A00A0939B00B093A5
|
||||
:100940009C0038EEC32E33E0D32EE12CF12C40E195
|
||||
:10095000442E4EE0542E612C712C3324339482E0CB
|
||||
:100960005EDE969587958C7F9093A2008093A10080
|
||||
:1009700084E055DE97FD15C19093A00080939F0001
|
||||
:100980006091A1007091A20090E080E020919F0012
|
||||
:100990003091A00050E040E048D2A70196015ED21D
|
||||
:1009A00030939E0020939D008FB7F8948090A40010
|
||||
:1009B0009090A500A090A600B090A7008FBF809156
|
||||
:1009C000990090919A00A0919B00B0919C00A50184
|
||||
:1009D0009401281B390B4A0B5B0B29833A834B8309
|
||||
:1009E0005C838091950090919600A0919700B091C2
|
||||
:1009F0009800A5019401281B390B4A0B5B0BCA0117
|
||||
:100A0000B901A70196012AD2209391003093920058
|
||||
:100A100040939300509394008092990090929A0092
|
||||
:100A2000A0929B00B0929C0000919F001091A000AA
|
||||
:100A3000B80190E080E029813A814B815C81F5D159
|
||||
:100A4000A30192010BD280918D0090918E00A09114
|
||||
:100A50008F00B0919000820F931FA41FB51F809349
|
||||
:100A60008D0090938E00A0938F00B09390004091E2
|
||||
:100A70009D0050919E005E834D83BA0190E080E01E
|
||||
:100A800029813A814B815C81D0D1A3019201E6D1C9
|
||||
:100A90008091890090918A00A0918B00B0918C0088
|
||||
:100AA000820F931FA41FB51F8093890090938A0023
|
||||
:100AB000A0938B00B0938C008091A1009091A20034
|
||||
:100AC00020916600309167008217930720F490937D
|
||||
:100AD0006700809366002091870030918800281776
|
||||
:100AE000390720F4909388008093870080916400F8
|
||||
:100AF000909165000817190720F410936500009382
|
||||
:100B0000640080918500909186008017910720F401
|
||||
:100B1000109386000093850080916200909163009D
|
||||
:100B2000ED81FE81E817F90720F4F0936300E0936C
|
||||
:100B3000620080918300909184002D813E81821714
|
||||
:100B4000930720F43093840020938300B39B2EC03E
|
||||
:100B50001092610004DC60E080E0E3DB80918200C1
|
||||
:100B6000823009F4C9C098F5882309F47CC081302B
|
||||
:100B700009F4A2C03091600080E2382739833093B5
|
||||
:100B80006000C8DB8981BADBB4DB8091680094E047
|
||||
:100B900089278093680064E670E080E090E057DB8E
|
||||
:100BA000DECE1092A00010929F00EACE80916100EC
|
||||
:100BB0008111D0CF809182008F5F853028F480939F
|
||||
:100BC000820030926100C6CF10928200FACF83304B
|
||||
:100BD00009F4A5C0843071F661E080E2A2DB609187
|
||||
:100BE0009100709192008091930090919400A301E4
|
||||
:100BF000920134D1CA01B90120E342E03ADD88E62E
|
||||
:100C000091E065DC60919100709192008091930079
|
||||
:100C100090919400A301920121D16093910070936F
|
||||
:100C2000920080939300909394002CE330E040E096
|
||||
:100C300050E014D1CA01B90120E342E01ADD86E692
|
||||
:100C400091E045DC60919100709192008091930059
|
||||
:100C5000909194002CE330E040E050E0FFD020E39E
|
||||
:100C600042E007DD87CF8091A1009091A20090DD46
|
||||
:100C70008AE991E02CDC80919D0090919E0088DDB6
|
||||
:100C800086E991E024DC80919F009091A00080DDB6
|
||||
:100C900082E991E01CDC60918D0070918E00809162
|
||||
:100CA0008F0090919000A7019601D8D0C90170DD06
|
||||
:100CB0008EE891E00CDC5ECF809166009091670039
|
||||
:100CC00067DD8AE891E003DC8091870090918800DD
|
||||
:100CD0005FDD86E891E0FBDB809164009091650028
|
||||
:100CE00057DD82E891E0F3DB8091850090918600EA
|
||||
:100CF0004FDD8EE791E0DECF61E080E012DB809196
|
||||
:100D000062009091630044DD8AE791E0E0DB80912E
|
||||
:100D10008300909184003CDD86E791E0CBCF609129
|
||||
:100D20008D0070918E0080918F0090919000A701AE
|
||||
:100D3000960194D0CA01B9012AE247E09ADC84E71F
|
||||
:100D400091E0C5DB60918D0070918E0080918F00E5
|
||||
:100D500090919000A701960181D020E343E089DCC7
|
||||
:100D600080E791E0B4DB62E080E0DBDA609189004B
|
||||
:100D700070918A0080918B0090918C00A701960160
|
||||
:100D80006DD0CA01B9012AE247E073DC8EE691E03A
|
||||
:100D90009EDB6091890070918A0080918B00909118
|
||||
:100DA0008C00A70196015AD020E343E062DC8AE67A
|
||||
:100DB00091E080CFECEAF0E0138212828DE690E0C1
|
||||
:100DC0009183808384E093E090937F0080937E0002
|
||||
:100DD0008FEE92E090937D0080937C0084EA92E015
|
||||
:100DE000909379008093780081E093E090937B006A
|
||||
:100DF00080937A000895002480FD060E660F11F09E
|
||||
:100E00008695D1F7802D08950024552704C0080E3B
|
||||
:100E1000591F880F991F009729F076956795B8F3A9
|
||||
:100E20007105B9F7802D952F0895EE27FF27AA2782
|
||||
:100E3000BB2708C0A20FB31FE41FF51F220F331FEB
|
||||
:100E4000441F551F969587957795679598F3704041
|
||||
:100E5000A9F7009799F7BD01CF010895A1E21A2ED5
|
||||
:100E6000AA1BBB1BFD010DC0AA1FBB1FEE1FFF1F4E
|
||||
:100E7000A217B307E407F50720F0A21BB30BE40B9E
|
||||
:100E8000F50B661F771F881F991F1A9469F76095E5
|
||||
:100E90007095809590959B01AC01BD01CF0108959F
|
||||
:100EA000EE0FFF1F0590F491E02D0994F894FFCF09
|
||||
:100EB0004001FFFFFFFFFFFFB000000000EB01510A
|
||||
:080EC000011E000802283B009E
|
||||
:00000001FF
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
For ATtiny85:
|
||||
-------------
|
||||
avrdude -c usbtiny -p t85 -U lfuse:w:0xe2:m -U hfuse:w:0xdf:m -U flash:w:USB_Tester_t85_v1.1.hex
|
||||
|
||||
For ATtiny45:
|
||||
-------------
|
||||
avrdude -c usbtiny -p t45 -U lfuse:w:0xe2:m -U hfuse:w:0xdf:m -U flash:w:USB_Tester_t45_v1.1.hex
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
# Project: USB-Tester
|
||||
# Author: Stefan Wagner
|
||||
# Year: 2020
|
||||
# URL: https://easyeda.com/wagiminator
|
||||
# https://github.com/wagiminator
|
||||
#
|
||||
# Type "make help" in the command line.
|
||||
|
||||
# Input and Output File Names
|
||||
SKETCH = USB_Tester_v1.2.ino
|
||||
TARGET = usb_tester
|
||||
|
||||
# Microcontroller Options
|
||||
DEVICE = attiny85
|
||||
CLOCK = 8000000
|
||||
PROGRMR = usbasp
|
||||
LFUSE = 0xE2
|
||||
HFUSE = 0xD5
|
||||
EFUSE = 0xFF
|
||||
|
||||
# Commands
|
||||
AVRDUDE = avrdude -c $(PROGRMR) -p $(DEVICE)
|
||||
COMPILE = avr-gcc -Wall -Os -flto -mmcu=$(DEVICE) -DF_CPU=$(CLOCK) -x c++ $(SKETCH)
|
||||
CLEAN = rm -f *.lst *.obj *.cof *.list *.map *.eep.hex *.o *.s
|
||||
|
||||
# Symbolic Targets
|
||||
help:
|
||||
@echo "Use the following commands:"
|
||||
@echo "make all compile and build $(TARGET).bin/.hex/.asm for $(DEVICE)"
|
||||
@echo "make hex compile and build $(TARGET).hex for $(DEVICE)"
|
||||
@echo "make asm compile and disassemble to $(TARGET).asm for $(DEVICE)"
|
||||
@echo "make bin compile and build $(TARGET).bin for $(DEVICE)"
|
||||
@echo "make upload compile and upload to $(DEVICE) using $(PROGRMR)"
|
||||
@echo "make fuses burn fuses of $(DEVICE) using $(PROGRMR) programmer"
|
||||
@echo "make install compile, upload and burn fuses for $(DEVICE)"
|
||||
@echo "make clean remove all build files"
|
||||
|
||||
all: buildbin buildhex buildasm removetemp size
|
||||
|
||||
bin: buildbin removetemp size
|
||||
|
||||
hex: buildbin buildhex removetemp size removebin
|
||||
|
||||
asm: buildbin buildasm removetemp size removebin
|
||||
|
||||
install: upload fuses
|
||||
|
||||
upload: hex
|
||||
@echo "Uploading to $(DEVICE) ..."
|
||||
@$(AVRDUDE) -U flash:w:$(TARGET).hex:i
|
||||
|
||||
fuses:
|
||||
@echo "Burning fuses of $(DEVICE) ..."
|
||||
@$(AVRDUDE) -U lfuse:w:$(LFUSE):m -U hfuse:w:$(HFUSE):m -U efuse:w:$(EFUSE):m
|
||||
|
||||
clean:
|
||||
@echo "Cleaning all up ..."
|
||||
@$(CLEAN)
|
||||
@rm -f $(TARGET).bin $(TARGET).hex $(TARGET).asm
|
||||
|
||||
buildbin:
|
||||
@echo "Building $(TARGET).bin for $(DEVICE) @ $(CLOCK)Hz ..."
|
||||
@$(COMPILE) -o $(TARGET).bin
|
||||
|
||||
buildhex:
|
||||
@echo "Building $(TARGET).hex ..."
|
||||
@avr-objcopy -j .text -j .data -O ihex $(TARGET).bin $(TARGET).hex
|
||||
|
||||
buildasm:
|
||||
@echo "Disassembling to $(TARGET).asm ..."
|
||||
@avr-objdump -d $(TARGET).bin > $(TARGET).asm
|
||||
|
||||
size:
|
||||
@echo "FLASH: $(shell avr-size -d $(TARGET).bin | awk '/[0-9]/ {print $$1 + $$2}') bytes"
|
||||
@echo "SRAM: $(shell avr-size -d $(TARGET).bin | awk '/[0-9]/ {print $$2 + $$3}') bytes"
|
||||
|
||||
removetemp:
|
||||
@echo "Removing temporary files ..."
|
||||
@$(CLEAN)
|
||||
|
||||
removebin:
|
||||
@echo "Removing $(TARGET).bin ..."
|
||||
@rm -f $(TARGET).bin
|
||||
|
|
@ -0,0 +1,135 @@
|
|||
:1000000092C0ACC0ABC0AAC0A9C0A8C0A7C0A6C0BF
|
||||
:10001000A5C0A4C0BDC1A2C0A1C0A0C09FC07C1F7C
|
||||
:1000200002200220022002207C1F000000000000AD
|
||||
:10003000000000007C1F001F82208220822082207E
|
||||
:100040007C00000082208220822082207C1F7C0095
|
||||
:1000500080008000800080007C1F7C008220822045
|
||||
:1000600082208220001F7C1F82208220822082200A
|
||||
:10007000001F7C0002000200020002007C1F7C1FA7
|
||||
:1000800082208220822082207C1F7C00822082208D
|
||||
:10009000822082207C1F0000F03F8C0082008C00B8
|
||||
:1000A000F03F0000FE07001800200018FE070000C7
|
||||
:1000B000FE1F0020001F0020FE1F0000FE3F000169
|
||||
:1000C00080008000003F0000803F8000803F800073
|
||||
:1000D000003F000000000030003000000000000081
|
||||
:1000E0000000300630060000000080008000800024
|
||||
:1000F0008000800080000000000000000000000080
|
||||
:100100000000A81F2001DA028D14AFA1C80E0C0D4B
|
||||
:10011000FF121112FF0E0A0DFF0E0A12FF0E0C1233
|
||||
:10012000FF0E0B12FF0011241FBECFE5D2E0DEBF91
|
||||
:10013000CDBF10E0A0E6B0E0E6E4F8E002C0059034
|
||||
:100140000D92AA36B107D9F720E0AAE6B0E001C0C7
|
||||
:100150001D92AE36B207E1F740D173C351CF282FBD
|
||||
:10016000B89898E080E0880FC895BA98B0998160F7
|
||||
:10017000BA9A9150C1F72111B89AC895BA98C89502
|
||||
:10018000BA9A0895B89ABA98B898089598E087FFEF
|
||||
:1001900002C0B89801C0B89ABA98C895BA9A880FA0
|
||||
:1001A0009150A9F7C895B898BA98C895BA9A089581
|
||||
:1001B0001F93CF93DF93E82FEE0FEE0FEE0F880F14
|
||||
:1001C000880FCE2FC80F80E0E1DF80E0DFDFDCE0CA
|
||||
:1001D000DC0F11E01C0FEC2FF0E0E25EFF4F84918A
|
||||
:1001E000D5DFC12FD113F5CF80E0D0DF80E0DF91E4
|
||||
:1001F000CF911F91CBCFB89ABA9AC8CFCF93DF9344
|
||||
:10020000C82F80E8F8DF8C2FC1DFB898BA9881E852
|
||||
:10021000F2DF81E0A4DFC82F80E0A1DFD0E0DC2F97
|
||||
:10022000CC27C82BAFDFCE01DF91CF910895CF93BC
|
||||
:10023000C82F88E7E0DF80E4A9DF80E0CA3018F04B
|
||||
:100240008F5FCA50FBCFB4DF8C2FB2DFCF919ACF34
|
||||
:100250000F931F93CF93DF938C0188E7CCDF80E46B
|
||||
:1002600095DFC4E6D0E02991399180E002171307A9
|
||||
:1002700020F08F5F021B130BF9CF9ADF80E0CA36A4
|
||||
:10028000D80789F7DF91CF911F910F917BCFEF9224
|
||||
:10029000FF920F931F93CF93DF938C0188E7ABDF1F
|
||||
:1002A00080E474DF80E6E82E80E0F82EC0E0D0E045
|
||||
:1002B000F701219131917F0180E00217130728F0A7
|
||||
:1002C0008F5F021B130BD1E0F8CFD11103C0C430F4
|
||||
:1002D00009F082E16DDFCF5FC53051F7DF91CF913B
|
||||
:1002E0001F910F91FF90EF904DCFCF93DF93EC01D3
|
||||
:1002F00088E781DF80E44ADFFE0184918F3F19F0B7
|
||||
:1003000057DF2196F9CFDF91CF913CCFCF93C82F04
|
||||
:1003100088E771DF80E43ADF8C2F4ADFCF9132CF5C
|
||||
:10032000CF93DF93C82FD62F88E765DF80E02EDFDD
|
||||
:1003300082E22CDF8D2F2ADF81E08D0F27DF8C2FCB
|
||||
:100340008F7024DF8C2F82958F7080611FDF8D2F3F
|
||||
:10035000806B1CDFDF91CF9115CFCF9360E080E001
|
||||
:10036000DFDF88E748DF80E411DFC0E080E00EDFF8
|
||||
:10037000C150E1F707DF62E080E0D2DF88E73BDFD2
|
||||
:1003800080E404DF80E002DFC150E1F7CF91FACED4
|
||||
:100390001F920F920FB60F9211248F939F93AF93DA
|
||||
:1003A000BF9380916A0090916B00A0916C00B09116
|
||||
:1003B0006D000196A11DB11D80936A0090936B00A2
|
||||
:1003C000A0936C00B0936D00BF91AF919F918F91FE
|
||||
:1003D0000F900FBE0F901F901895CF93DF93CDB75E
|
||||
:1003E000DEB7A4970FB6F894DEBF0FBECDBF88E08E
|
||||
:1003F00088BB8CE789BD82E08ABD83E083BF80E152
|
||||
:1004000089BF789487B38A7F87BB88B38A7F88BB8C
|
||||
:1004100080E8F1DE80E0BADE86E0B8DE87E6B6DEB0
|
||||
:10042000B1DE80E8E8DE85E0B1DE84E1AFDE80E0C9
|
||||
:10043000ADDEA8DE88E7DFDE80E0A8DE22E031E086
|
||||
:100440003A8329830DE011E0E981FA8184919EDEEF
|
||||
:1004500029813A812F5F3F4F3A832983021713077F
|
||||
:1004600099F790DE7ADFF89440906A0050906B0024
|
||||
:1004700060906C0070906D00789431E03CA31BA2FA
|
||||
:100480001D8A1E8A1F8A188E19821A821B821C825C
|
||||
:10049000198A1A8A1B8A1C8A188A1F868FEF9FEF77
|
||||
:1004A0009E878D871C861B86AFEFBFEFBA87A98713
|
||||
:1004B00018861F82EFEFFFEFFE83ED8338EE832E69
|
||||
:1004C00033E0932EA12CB12C82E098DE969587958F
|
||||
:1004D0001C01FCEF2F2284E091DE8C0197FF02C00B
|
||||
:1004E00000E010E0A80160E070E0C101A0E0B0E031
|
||||
:1004F000498F5A8F6B8F7C8F9A01AB01BC01CD0164
|
||||
:1005000051D1A50194017BD169017A013E8F2D8FD4
|
||||
:10051000F89480916A0090916B00A0916C00B0916A
|
||||
:100520006D008F8F98A3A9A3BAA378948419950915
|
||||
:10053000A609B7092C013D0189899A89AB89BC8933
|
||||
:10054000840D951DA61DB71D898B9A8BAB8BBC8B1B
|
||||
:10055000A3019201698D7A8D8B8D9C8D23D120E131
|
||||
:100560003EE040E050E04BD189819A81AB81BC8173
|
||||
:10057000820F931FA41FB51F89839A83AB83BC830B
|
||||
:10058000C701B60188279927A30192010BD120E169
|
||||
:100590003EE040E050E033D18D899E89AF89B88D2F
|
||||
:1005A000820F931FA41FB51F8D8B9E8BAF8BB88FAF
|
||||
:1005B000AD81BE812A163B0610F43E822D82EF816A
|
||||
:1005C000F885E215F30510F438862F8229853A85DF
|
||||
:1005D0000217130710F41A8709878B859C858017EB
|
||||
:1005E000910710F41C870B87AD85BE85ED8DFE8DC0
|
||||
:1005F000EA17FB0710F4DE86CD862F8538898D8DAE
|
||||
:100600009E8D2817390710F4D88ACF86B3990DC06C
|
||||
:100610009CA191110CC0ABA1AF5FABA3A53008F0BA
|
||||
:100620001BA29BDEB1E0BCA304C01CA202C0E1E09F
|
||||
:10063000ECA3FBA1F23009F46DC020F5FF2309F40F
|
||||
:1006400048C0F13009F0A0C060E080E069DE8D8133
|
||||
:100650009E811DDE81E191E048DE8F81988517DE65
|
||||
:1006600081E291E042DE62E080E05ADE89859A858F
|
||||
:100670000EDE81E191E039DE8B859C8508DE89E123
|
||||
:1006800091E056C02BA1233009F454C0243009F066
|
||||
:100690007BC069897A898B899C89A5019401AFD037
|
||||
:1006A000890161E080E23CDEC80160E17EE093D038
|
||||
:1006B0008C01862FBCDD80E129DEC8016CE370E08F
|
||||
:1006C0008AD0182F862FB3DD80E120DE812FAFDDA9
|
||||
:1006D0005BC060E080E024DEC101D9DD81E291E011
|
||||
:1006E00004DEC601D4DD8DE191E0FFDD62E080E053
|
||||
:1006F00017DEC801CCDD89E191E0F7DD69817A81FF
|
||||
:100700008B819C81A50194017AD0C901C0DD85E16E
|
||||
:1007100091E00EC061E080E003DE8D859E85B7DD4F
|
||||
:1007200081E191E0E2DD8F859889B1DD8DE191E095
|
||||
:10073000DCDD2AC060E080E1F3DD69817A818B81B4
|
||||
:100740009C81A50194015BD06B017C01C9019FDDF7
|
||||
:100750008FE0DCDDC6017CDD85E191E0C6DD62E095
|
||||
:1007600080E1DEDD6D897E898F89988DA5019401F8
|
||||
:1007700046D06B017C01C9018ADD8FE0C7DDC6016F
|
||||
:1007800067DD8DE091E0D4CF3FEF80E792E031501C
|
||||
:1007900080409040E1F700C000004F8C58A069A055
|
||||
:1007A0007AA092CEEE27FF27AA27BB2708C0A20F68
|
||||
:1007B000B31FE41FF51F220F331F441F551F9695CB
|
||||
:1007C00087957795679598F37040A9F7009799F703
|
||||
:1007D000BD01CF010895AA1BBB1B51E107C0AA1F91
|
||||
:1007E000BB1FA617B70710F0A61BB70B881F991FD2
|
||||
:1007F0005A95A9F780959095BC01CD010895A1E285
|
||||
:100800001A2EAA1BBB1BFD010DC0AA1FBB1FEE1F8A
|
||||
:10081000FF1FA217B307E407F50720F0A21BB30BD5
|
||||
:10082000E40BF50B661F771F881F991F1A9469F751
|
||||
:1008300060957095809590959B01AC01BD01CF01AD
|
||||
:060840000895F894FFCFBB
|
||||
:0A0846001027E80364000A00010017
|
||||
:00000001FF
|
||||
Loading…
Reference in New Issue