From 8986dfce3c108be9c0ac8eb04c45bb80f2ec6cc2 Mon Sep 17 00:00:00 2001 From: wagiminator Date: Sat, 27 Mar 2021 19:12:22 +0100 Subject: [PATCH] Update files --- software/{sources => }/USB_Tester_v1.0.ino | 0 software/{sources => }/USB_Tester_v1.1.ino | 0 software/USB_Tester_v1.2.ino | 459 +++++++++++++++++++++ software/binaries/USB_Tester_t45_v1.0.hex | 192 --------- software/binaries/USB_Tester_t45_v1.1.hex | 238 ----------- software/binaries/USB_Tester_t85_v1.0.hex | 192 --------- software/binaries/USB_Tester_t85_v1.1.hex | 238 ----------- software/binaries/readme.txt | 7 - software/{sources => }/font8x16a.h | 0 software/makefile | 83 ++++ software/usb_tester.hex | 135 ++++++ 11 files changed, 677 insertions(+), 867 deletions(-) rename software/{sources => }/USB_Tester_v1.0.ino (100%) rename software/{sources => }/USB_Tester_v1.1.ino (100%) create mode 100644 software/USB_Tester_v1.2.ino delete mode 100644 software/binaries/USB_Tester_t45_v1.0.hex delete mode 100644 software/binaries/USB_Tester_t45_v1.1.hex delete mode 100644 software/binaries/USB_Tester_t85_v1.0.hex delete mode 100644 software/binaries/USB_Tester_t85_v1.1.hex delete mode 100644 software/binaries/readme.txt rename software/{sources => }/font8x16a.h (100%) create mode 100755 software/makefile create mode 100644 software/usb_tester.hex diff --git a/software/sources/USB_Tester_v1.0.ino b/software/USB_Tester_v1.0.ino similarity index 100% rename from software/sources/USB_Tester_v1.0.ino rename to software/USB_Tester_v1.0.ino diff --git a/software/sources/USB_Tester_v1.1.ino b/software/USB_Tester_v1.1.ino similarity index 100% rename from software/sources/USB_Tester_v1.1.ino rename to software/USB_Tester_v1.1.ino diff --git a/software/USB_Tester_v1.2.ino b/software/USB_Tester_v1.2.ino new file mode 100644 index 0000000..c5252e2 --- /dev/null +++ b/software/USB_Tester_v1.2.ino @@ -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 +#include +#include +#include + +// 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< pulled HIGH by resistor +#define I2C_SDA_LOW() DDRB |= (1< pulled LOW by MCU +#define I2C_SCL_HIGH() DDRB &= ~(1< pulled HIGH by resistor +#define I2C_SCL_LOW() DDRB |= (1< pulled LOW by MCU +#define I2C_SDA_READ() (PINB & (1< lines released + PORTB &= ~((1< 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> 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< 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< 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); + } +} diff --git a/software/binaries/USB_Tester_t45_v1.0.hex b/software/binaries/USB_Tester_t45_v1.0.hex deleted file mode 100644 index 153ce5b..0000000 --- a/software/binaries/USB_Tester_t45_v1.0.hex +++ /dev/null @@ -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 diff --git a/software/binaries/USB_Tester_t45_v1.1.hex b/software/binaries/USB_Tester_t45_v1.1.hex deleted file mode 100644 index 1d69c8f..0000000 --- a/software/binaries/USB_Tester_t45_v1.1.hex +++ /dev/null @@ -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 diff --git a/software/binaries/USB_Tester_t85_v1.0.hex b/software/binaries/USB_Tester_t85_v1.0.hex deleted file mode 100644 index 34364a3..0000000 --- a/software/binaries/USB_Tester_t85_v1.0.hex +++ /dev/null @@ -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 diff --git a/software/binaries/USB_Tester_t85_v1.1.hex b/software/binaries/USB_Tester_t85_v1.1.hex deleted file mode 100644 index 4ecf07c..0000000 --- a/software/binaries/USB_Tester_t85_v1.1.hex +++ /dev/null @@ -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 diff --git a/software/binaries/readme.txt b/software/binaries/readme.txt deleted file mode 100644 index 08b3cae..0000000 --- a/software/binaries/readme.txt +++ /dev/null @@ -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 diff --git a/software/sources/font8x16a.h b/software/font8x16a.h similarity index 100% rename from software/sources/font8x16a.h rename to software/font8x16a.h diff --git a/software/makefile b/software/makefile new file mode 100755 index 0000000..36ae08e --- /dev/null +++ b/software/makefile @@ -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 diff --git a/software/usb_tester.hex b/software/usb_tester.hex new file mode 100644 index 0000000..68d3471 --- /dev/null +++ b/software/usb_tester.hex @@ -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