Added Makefile. Now builds. DOS->UNIX
This commit is contained in:
parent
de681b31bc
commit
24ba7eab98
8
code/Makefile
Normal file
8
code/Makefile
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
all:
|
||||||
|
make build
|
||||||
|
make program
|
||||||
|
build:
|
||||||
|
avr-gcc main.c i2c_master.c -o counter -mmcu=attiny85
|
||||||
|
|
||||||
|
program:
|
||||||
|
avrdude
|
||||||
52
code/main.c
52
code/main.c
@ -74,6 +74,26 @@ const uint8_t PROGMEM rot_table[16] =
|
|||||||
EVENT_NONE, EVENT_ROT_CCW, EVENT_ROT_CW, EVENT_NONE
|
EVENT_NONE, EVENT_ROT_CCW, EVENT_ROT_CW, EVENT_NONE
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const uint8_t PROGMEM unfold_table[16] =
|
||||||
|
{
|
||||||
|
0x00,
|
||||||
|
0x02,
|
||||||
|
0x08,
|
||||||
|
0x0A,
|
||||||
|
0x20,
|
||||||
|
0x22,
|
||||||
|
0x28,
|
||||||
|
0x2A,
|
||||||
|
0x80,
|
||||||
|
0x82,
|
||||||
|
0x88,
|
||||||
|
0x8A,
|
||||||
|
0xA0,
|
||||||
|
0xA2,
|
||||||
|
0xA8,
|
||||||
|
0xAA
|
||||||
|
};
|
||||||
|
|
||||||
const uint8_t PROGMEM symbols[80] =
|
const uint8_t PROGMEM symbols[80] =
|
||||||
{
|
{
|
||||||
0x3D, 0x51, 0x49, 0x45, 0x3D, // 0
|
0x3D, 0x51, 0x49, 0x45, 0x3D, // 0
|
||||||
@ -102,7 +122,7 @@ void display_enable(uint8_t en);
|
|||||||
void get_symbol16(uint8_t index, uint8_t *out);
|
void get_symbol16(uint8_t index, uint8_t *out);
|
||||||
void print_symbol(uint8_t symbol_idx, uint8_t x, uint8_t y, uint8_t invert);
|
void print_symbol(uint8_t symbol_idx, uint8_t x, uint8_t y, uint8_t invert);
|
||||||
void print_mm(uint32_t value, uint32_t highlight);
|
void print_mm(uint32_t value, uint32_t highlight);
|
||||||
void print_direction(uint8_t is_up);
|
void print_direction(uint8_t is_up, uint8_t invert);
|
||||||
void print_voltage(uint16_t value);
|
void print_voltage(uint16_t value);
|
||||||
uint16_t adc_measure();
|
uint16_t adc_measure();
|
||||||
uint16_t get_voltage();
|
uint16_t get_voltage();
|
||||||
@ -379,7 +399,7 @@ int main()
|
|||||||
|
|
||||||
++eeprom_idx;
|
++eeprom_idx;
|
||||||
eeprom_idx %= EEPROM_SIZE;
|
eeprom_idx %= EEPROM_SIZE;
|
||||||
write_eeprom_val(idx, count_value, move_dir);
|
write_eeprom_val(eeprom_idx, count_value, move_dir);
|
||||||
}
|
}
|
||||||
|
|
||||||
update_display(count_value, highlight, move_dir, dir_highlight);
|
update_display(count_value, highlight, move_dir, dir_highlight);
|
||||||
@ -532,25 +552,6 @@ void get_symbol16(uint8_t index, uint8_t *out)
|
|||||||
{
|
{
|
||||||
uint8_t i;
|
uint8_t i;
|
||||||
uint8_t data_byte;
|
uint8_t data_byte;
|
||||||
const uint8_t PROGMEM unfold_table[16] =
|
|
||||||
{
|
|
||||||
0x00,
|
|
||||||
0x02,
|
|
||||||
0x08,
|
|
||||||
0x0A,
|
|
||||||
0x20,
|
|
||||||
0x22,
|
|
||||||
0x28,
|
|
||||||
0x2A,
|
|
||||||
0x80,
|
|
||||||
0x82
|
|
||||||
0x88,
|
|
||||||
0x8A,
|
|
||||||
0xA0,
|
|
||||||
0xA2,
|
|
||||||
0xA8,
|
|
||||||
0xAA
|
|
||||||
};
|
|
||||||
|
|
||||||
for (i = 0; i < CHAR_SIZE * 4; ++i)
|
for (i = 0; i < CHAR_SIZE * 4; ++i)
|
||||||
{
|
{
|
||||||
@ -568,7 +569,7 @@ void get_symbol16(uint8_t index, uint8_t *out)
|
|||||||
void print_symbol(uint8_t symbol_idx, uint8_t x, uint8_t y, uint8_t invert)
|
void print_symbol(uint8_t symbol_idx, uint8_t x, uint8_t y, uint8_t invert)
|
||||||
{
|
{
|
||||||
uint8_t unfolded_symbol[CHAR_SIZE * 4];
|
uint8_t unfolded_symbol[CHAR_SIZE * 4];
|
||||||
uint8_t cmd_list[6]
|
uint8_t cmd_list[6] =
|
||||||
{
|
{
|
||||||
0x21, // Set Column Address
|
0x21, // Set Column Address
|
||||||
0x00, // Start Address
|
0x00, // Start Address
|
||||||
@ -591,7 +592,7 @@ void print_symbol(uint8_t symbol_idx, uint8_t x, uint8_t y, uint8_t invert)
|
|||||||
x = x % (OLED_X_SIZE);
|
x = x % (OLED_X_SIZE);
|
||||||
y = y % (OLED_Y_SIZE / (8 * 2));
|
y = y % (OLED_Y_SIZE / (8 * 2));
|
||||||
|
|
||||||
if (x > (OLED_X_SIZE - CHAR_SIZE * 2)
|
if (x > (OLED_X_SIZE - CHAR_SIZE * 2))
|
||||||
{
|
{
|
||||||
x = OLED_X_SIZE - CHAR_SIZE * 2;
|
x = OLED_X_SIZE - CHAR_SIZE * 2;
|
||||||
}
|
}
|
||||||
@ -735,7 +736,8 @@ uint16_t measure_voltage()
|
|||||||
uint32_t val;
|
uint32_t val;
|
||||||
uint16_t result;
|
uint16_t result;
|
||||||
|
|
||||||
val = 110 * 1023;
|
val = 110;
|
||||||
|
val *= 1023;
|
||||||
val /= adc_measure();
|
val /= adc_measure();
|
||||||
result = val;
|
result = val;
|
||||||
|
|
||||||
@ -844,5 +846,5 @@ void update_display(uint32_t value, uint32_t highlight, uint8_t dir, uint8_t dir
|
|||||||
{
|
{
|
||||||
print_mm(value, highlight);
|
print_mm(value, highlight);
|
||||||
print_direction(dir, dir_highlight);
|
print_direction(dir, dir_highlight);
|
||||||
print_voltage(get_voltage());
|
print_voltage(measure_voltage());
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user