Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a952fbebff | ||
|
|
3124b29176 | ||
|
|
317aed825e | ||
|
|
8dad247e5e | ||
|
|
24b9a7359b | ||
|
|
fb7002e68b | ||
|
|
79232c5d2c | ||
|
|
d90cfa0e20 |
@@ -1,2 +1,4 @@
|
||||
.idea
|
||||
build
|
||||
lib/libssd1306/bld/
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ CFLAGS = -std=gnu99 -mmcu=$(MCU) -DF_CPU=$(F_CPU)UL
|
||||
CFLAGS += -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums
|
||||
CFLAGS += -Wall -Wno-main -Wno-strict-prototypes -Wno-comment
|
||||
CFLAGS += -g2 -Wextra -Wfatal-errors -Wno-unused-but-set-variable
|
||||
CFLAGS += -ffunction-sections -fdata-sections -O2 -Wno-array-bounds
|
||||
CFLAGS += -ffunction-sections -fdata-sections -Os -Wno-array-bounds
|
||||
|
||||
LFLAGS = -Wl,--gc-sections -Wl,--relax
|
||||
#-Llib/libssd1306/bld/ -l:libssd1306.a
|
||||
@@ -77,7 +77,7 @@ size: $(TARGET).elf
|
||||
|
||||
# Build the display library
|
||||
lib/libssd1306/bld/libssd1306.a:
|
||||
$(MAKE) -C lib/libssd1306/ -f Makefile.avr MCU=atmega328p
|
||||
$(MAKE) -C lib/libssd1306/src/ -f Makefile.avr MCU=atmega328p
|
||||
|
||||
$(TARGET).elf: $(OBJECTS) lib/libssd1306/bld/libssd1306.a | $(BUILD_DIR)
|
||||
$(LD) $(CFLAGS) $(LFLAGS) -o $@ $^ lib/libssd1306/bld/libssd1306.a
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
../bld/intf/i2c/ssd1306_i2c.o: intf/i2c/ssd1306_i2c.c \
|
||||
intf/i2c/ssd1306_i2c.h intf/i2c/ssd1306_i2c_conf.h ssd1306_hal/io.h \
|
||||
ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h intf/i2c/ssd1306_i2c_embedded.h \
|
||||
intf/i2c/ssd1306_i2c_twi.h intf/ssd1306_interface.h
|
||||
Binary file not shown.
@@ -1,16 +0,0 @@
|
||||
../bld/intf/i2c/ssd1306_i2c_embedded.o: intf/i2c/ssd1306_i2c_embedded.c \
|
||||
intf/i2c/ssd1306_i2c_embedded.h ssd1306_hal/io.h \
|
||||
ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h intf/i2c/ssd1306_i2c_conf.h \
|
||||
intf/ssd1306_interface.h intf/i2c/ssd1306_i2c.h \
|
||||
intf/i2c/ssd1306_i2c_twi.h
|
||||
Binary file not shown.
@@ -1,16 +0,0 @@
|
||||
../bld/intf/i2c/ssd1306_i2c_twi.o: intf/i2c/ssd1306_i2c_twi.c \
|
||||
intf/i2c/ssd1306_i2c_twi.h ssd1306_hal/io.h ssd1306_hal/UserSettings.h \
|
||||
ssd1306_hal/avr/io.h /usr/avr/include/avr/io.h \
|
||||
/usr/avr/include/avr/sfr_defs.h /usr/avr/include/inttypes.h \
|
||||
/usr/lib/gcc/avr/12.2.0/include/stdint.h /usr/avr/include/stdint.h \
|
||||
/usr/avr/include/avr/iom328p.h /usr/avr/include/avr/portpins.h \
|
||||
/usr/avr/include/avr/common.h /usr/avr/include/avr/version.h \
|
||||
/usr/avr/include/avr/fuse.h /usr/avr/include/avr/lock.h \
|
||||
/usr/avr/include/avr/interrupt.h /usr/avr/include/avr/pgmspace.h \
|
||||
/usr/lib/gcc/avr/12.2.0/include/stddef.h /usr/avr/include/avr/sleep.h \
|
||||
/usr/avr/include/avr/eeprom.h /usr/avr/include/util/delay.h \
|
||||
/usr/avr/include/util/delay_basic.h /usr/avr/include/math.h \
|
||||
/usr/avr/include/stdlib.h /usr/avr/include/string.h \
|
||||
intf/i2c/ssd1306_i2c_conf.h intf/ssd1306_interface.h \
|
||||
intf/i2c/ssd1306_i2c.h intf/i2c/ssd1306_i2c_embedded.h \
|
||||
/usr/avr/include/util/twi.h
|
||||
Binary file not shown.
@@ -1,15 +0,0 @@
|
||||
../bld/intf/spi/ssd1306_spi.o: intf/spi/ssd1306_spi.c \
|
||||
intf/spi/ssd1306_spi.h ssd1306_hal/io.h ssd1306_hal/UserSettings.h \
|
||||
ssd1306_hal/avr/io.h /usr/avr/include/avr/io.h \
|
||||
/usr/avr/include/avr/sfr_defs.h /usr/avr/include/inttypes.h \
|
||||
/usr/lib/gcc/avr/12.2.0/include/stdint.h /usr/avr/include/stdint.h \
|
||||
/usr/avr/include/avr/iom328p.h /usr/avr/include/avr/portpins.h \
|
||||
/usr/avr/include/avr/common.h /usr/avr/include/avr/version.h \
|
||||
/usr/avr/include/avr/fuse.h /usr/avr/include/avr/lock.h \
|
||||
/usr/avr/include/avr/interrupt.h /usr/avr/include/avr/pgmspace.h \
|
||||
/usr/lib/gcc/avr/12.2.0/include/stddef.h /usr/avr/include/avr/sleep.h \
|
||||
/usr/avr/include/avr/eeprom.h /usr/avr/include/util/delay.h \
|
||||
/usr/avr/include/util/delay_basic.h /usr/avr/include/math.h \
|
||||
/usr/avr/include/stdlib.h /usr/avr/include/string.h \
|
||||
intf/spi/ssd1306_spi_avr.h intf/spi/ssd1306_spi_conf.h \
|
||||
intf/spi/ssd1306_spi_usi.h intf/ssd1306_interface.h lcd/lcd_common.h
|
||||
Binary file not shown.
@@ -1,15 +0,0 @@
|
||||
../bld/intf/spi/ssd1306_spi_avr.o: intf/spi/ssd1306_spi_avr.c \
|
||||
intf/spi/ssd1306_spi_avr.h intf/spi/ssd1306_spi_conf.h ssd1306_hal/io.h \
|
||||
ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h intf/spi/ssd1306_spi.h \
|
||||
intf/ssd1306_interface.h lcd/lcd_common.h
|
||||
Binary file not shown.
@@ -1,15 +0,0 @@
|
||||
../bld/intf/spi/ssd1306_spi_usi.o: intf/spi/ssd1306_spi_usi.c \
|
||||
intf/spi/ssd1306_spi_usi.h intf/spi/ssd1306_spi_conf.h ssd1306_hal/io.h \
|
||||
ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h intf/spi/ssd1306_spi.h \
|
||||
intf/ssd1306_interface.h lcd/lcd_common.h
|
||||
Binary file not shown.
@@ -1,14 +0,0 @@
|
||||
../bld/intf/ssd1306_interface.o: intf/ssd1306_interface.c \
|
||||
intf/ssd1306_interface.h ssd1306_hal/io.h ssd1306_hal/UserSettings.h \
|
||||
ssd1306_hal/avr/io.h /usr/avr/include/avr/io.h \
|
||||
/usr/avr/include/avr/sfr_defs.h /usr/avr/include/inttypes.h \
|
||||
/usr/lib/gcc/avr/12.2.0/include/stdint.h /usr/avr/include/stdint.h \
|
||||
/usr/avr/include/avr/iom328p.h /usr/avr/include/avr/portpins.h \
|
||||
/usr/avr/include/avr/common.h /usr/avr/include/avr/version.h \
|
||||
/usr/avr/include/avr/fuse.h /usr/avr/include/avr/lock.h \
|
||||
/usr/avr/include/avr/interrupt.h /usr/avr/include/avr/pgmspace.h \
|
||||
/usr/lib/gcc/avr/12.2.0/include/stddef.h /usr/avr/include/avr/sleep.h \
|
||||
/usr/avr/include/avr/eeprom.h /usr/avr/include/util/delay.h \
|
||||
/usr/avr/include/util/delay_basic.h /usr/avr/include/math.h \
|
||||
/usr/avr/include/stdlib.h /usr/avr/include/string.h \
|
||||
intf/spi/ssd1306_spi.h
|
||||
Binary file not shown.
@@ -1,14 +0,0 @@
|
||||
../bld/intf/uart/ssd1306_uart_builtin.o: intf/uart/ssd1306_uart_builtin.c \
|
||||
intf/uart/ssd1306_uart_builtin.h ssd1306_hal/io.h \
|
||||
ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h intf/ssd1306_interface.h ssd1306_uart.h
|
||||
Binary file not shown.
@@ -1,14 +0,0 @@
|
||||
../bld/intf/vga/atmega328p/vga128x64.o: intf/vga/atmega328p/vga128x64.c \
|
||||
intf/vga/vga.h ssd1306_hal/io.h ssd1306_hal/UserSettings.h \
|
||||
ssd1306_hal/avr/io.h /usr/avr/include/avr/io.h \
|
||||
/usr/avr/include/avr/sfr_defs.h /usr/avr/include/inttypes.h \
|
||||
/usr/lib/gcc/avr/12.2.0/include/stdint.h /usr/avr/include/stdint.h \
|
||||
/usr/avr/include/avr/iom328p.h /usr/avr/include/avr/portpins.h \
|
||||
/usr/avr/include/avr/common.h /usr/avr/include/avr/version.h \
|
||||
/usr/avr/include/avr/fuse.h /usr/avr/include/avr/lock.h \
|
||||
/usr/avr/include/avr/interrupt.h /usr/avr/include/avr/pgmspace.h \
|
||||
/usr/lib/gcc/avr/12.2.0/include/stddef.h /usr/avr/include/avr/sleep.h \
|
||||
/usr/avr/include/avr/eeprom.h /usr/avr/include/util/delay.h \
|
||||
/usr/avr/include/util/delay_basic.h /usr/avr/include/math.h \
|
||||
/usr/avr/include/stdlib.h /usr/avr/include/string.h \
|
||||
intf/ssd1306_interface.h lcd/lcd_common.h lcd/vga_commands.h
|
||||
Binary file not shown.
@@ -1,14 +0,0 @@
|
||||
../bld/intf/vga/atmega328p/vga96x40.o: intf/vga/atmega328p/vga96x40.c \
|
||||
intf/vga/vga.h ssd1306_hal/io.h ssd1306_hal/UserSettings.h \
|
||||
ssd1306_hal/avr/io.h /usr/avr/include/avr/io.h \
|
||||
/usr/avr/include/avr/sfr_defs.h /usr/avr/include/inttypes.h \
|
||||
/usr/lib/gcc/avr/12.2.0/include/stdint.h /usr/avr/include/stdint.h \
|
||||
/usr/avr/include/avr/iom328p.h /usr/avr/include/avr/portpins.h \
|
||||
/usr/avr/include/avr/common.h /usr/avr/include/avr/version.h \
|
||||
/usr/avr/include/avr/fuse.h /usr/avr/include/avr/lock.h \
|
||||
/usr/avr/include/avr/interrupt.h /usr/avr/include/avr/pgmspace.h \
|
||||
/usr/lib/gcc/avr/12.2.0/include/stddef.h /usr/avr/include/avr/sleep.h \
|
||||
/usr/avr/include/avr/eeprom.h /usr/avr/include/util/delay.h \
|
||||
/usr/avr/include/util/delay_basic.h /usr/avr/include/math.h \
|
||||
/usr/avr/include/stdlib.h /usr/avr/include/string.h \
|
||||
intf/ssd1306_interface.h lcd/lcd_common.h lcd/vga_commands.h
|
||||
Binary file not shown.
@@ -1,14 +0,0 @@
|
||||
../bld/intf/vga/esp32/CompositeOutput.o: \
|
||||
intf/vga/esp32/CompositeOutput.cpp intf/vga/esp32/CompositeOutput.h \
|
||||
ssd1306_hal/io.h ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h
|
||||
Binary file not shown.
@@ -1,14 +0,0 @@
|
||||
../bld/intf/vga/esp32/vga128x64.o: intf/vga/esp32/vga128x64.cpp \
|
||||
intf/ssd1306_interface.h ssd1306_hal/io.h ssd1306_hal/UserSettings.h \
|
||||
ssd1306_hal/avr/io.h /usr/avr/include/avr/io.h \
|
||||
/usr/avr/include/avr/sfr_defs.h /usr/avr/include/inttypes.h \
|
||||
/usr/lib/gcc/avr/12.2.0/include/stdint.h /usr/avr/include/stdint.h \
|
||||
/usr/avr/include/avr/iom328p.h /usr/avr/include/avr/portpins.h \
|
||||
/usr/avr/include/avr/common.h /usr/avr/include/avr/version.h \
|
||||
/usr/avr/include/avr/fuse.h /usr/avr/include/avr/lock.h \
|
||||
/usr/avr/include/avr/interrupt.h /usr/avr/include/avr/pgmspace.h \
|
||||
/usr/lib/gcc/avr/12.2.0/include/stddef.h /usr/avr/include/avr/sleep.h \
|
||||
/usr/avr/include/avr/eeprom.h /usr/avr/include/util/delay.h \
|
||||
/usr/avr/include/util/delay_basic.h /usr/avr/include/math.h \
|
||||
/usr/avr/include/stdlib.h /usr/avr/include/string.h intf/vga/vga.h \
|
||||
lcd/lcd_common.h lcd/vga_commands.h
|
||||
Binary file not shown.
@@ -1,13 +0,0 @@
|
||||
../bld/intf/vga/vga.o: intf/vga/vga.c ssd1306_hal/io.h \
|
||||
ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h intf/vga/vga.h
|
||||
Binary file not shown.
@@ -1,14 +0,0 @@
|
||||
../bld/lcd/lcd_common.o: lcd/lcd_common.c lcd/lcd_common.h \
|
||||
ssd1306_hal/io.h ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h intf/ssd1306_interface.h \
|
||||
intf/spi/ssd1306_spi.h
|
||||
Binary file not shown.
@@ -1,15 +0,0 @@
|
||||
../bld/lcd/lcd_il9163.o: lcd/lcd_il9163.c lcd/lcd_il9163.h \
|
||||
ssd1306_hal/io.h ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h lcd/lcd_common.h lcd/lcd_common.h \
|
||||
intf/ssd1306_interface.h intf/spi/ssd1306_spi.h nano_gfx_types.h \
|
||||
ssd1306_hal/io.h
|
||||
Binary file not shown.
@@ -1,15 +0,0 @@
|
||||
../bld/lcd/lcd_ili9341.o: lcd/lcd_ili9341.c lcd/lcd_ili9341.h \
|
||||
ssd1306_hal/io.h ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h lcd/lcd_common.h lcd/lcd_common.h \
|
||||
intf/ssd1306_interface.h intf/spi/ssd1306_spi.h nano_gfx_types.h \
|
||||
ssd1306_hal/io.h
|
||||
Binary file not shown.
@@ -1,14 +0,0 @@
|
||||
../bld/lcd/lcd_pcd8544.o: lcd/lcd_pcd8544.c lcd/lcd_pcd8544.h \
|
||||
ssd1306_hal/io.h ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h lcd/lcd_common.h lcd/pcd8544_commands.h \
|
||||
intf/ssd1306_interface.h intf/spi/ssd1306_spi.h
|
||||
Binary file not shown.
@@ -1,16 +0,0 @@
|
||||
../bld/lcd/oled_sh1106.o: lcd/oled_sh1106.c lcd/oled_sh1106.h \
|
||||
ssd1306_hal/io.h ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h lcd/lcd_common.h lcd/ssd1306_commands.h \
|
||||
intf/ssd1306_interface.h intf/i2c/ssd1306_i2c.h \
|
||||
intf/i2c/ssd1306_i2c_conf.h intf/i2c/ssd1306_i2c_embedded.h \
|
||||
intf/i2c/ssd1306_i2c_twi.h intf/spi/ssd1306_spi.h
|
||||
Binary file not shown.
@@ -1,16 +0,0 @@
|
||||
../bld/lcd/oled_ssd1306.o: lcd/oled_ssd1306.c lcd/oled_ssd1306.h \
|
||||
ssd1306_hal/io.h ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h lcd/lcd_common.h lcd/ssd1306_commands.h \
|
||||
intf/ssd1306_interface.h intf/i2c/ssd1306_i2c.h \
|
||||
intf/i2c/ssd1306_i2c_conf.h intf/i2c/ssd1306_i2c_embedded.h \
|
||||
intf/i2c/ssd1306_i2c_twi.h intf/spi/ssd1306_spi.h
|
||||
Binary file not shown.
@@ -1,14 +0,0 @@
|
||||
../bld/lcd/oled_ssd1325.o: lcd/oled_ssd1325.c lcd/oled_ssd1325.h \
|
||||
ssd1306_hal/io.h ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h lcd/lcd_common.h lcd/lcd_common.h \
|
||||
intf/ssd1306_interface.h intf/spi/ssd1306_spi.h
|
||||
Binary file not shown.
@@ -1,14 +0,0 @@
|
||||
../bld/lcd/oled_ssd1327.o: lcd/oled_ssd1327.c lcd/oled_ssd1327.h \
|
||||
ssd1306_hal/io.h ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h lcd/lcd_common.h lcd/lcd_common.h \
|
||||
intf/ssd1306_interface.h intf/spi/ssd1306_spi.h
|
||||
Binary file not shown.
@@ -1,15 +0,0 @@
|
||||
../bld/lcd/oled_ssd1331.o: lcd/oled_ssd1331.c lcd/oled_ssd1331.h \
|
||||
ssd1306_hal/io.h ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h lcd/lcd_common.h lcd/lcd_common.h \
|
||||
lcd/ssd1331_commands.h intf/ssd1306_interface.h intf/spi/ssd1306_spi.h \
|
||||
nano_gfx_types.h ssd1306_hal/io.h
|
||||
Binary file not shown.
@@ -1,15 +0,0 @@
|
||||
../bld/lcd/oled_ssd1351.o: lcd/oled_ssd1351.c lcd/oled_ssd1351.h \
|
||||
ssd1306_hal/io.h ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h lcd/lcd_common.h lcd/lcd_common.h \
|
||||
lcd/ssd1351_commands.h intf/ssd1306_interface.h intf/spi/ssd1306_spi.h \
|
||||
nano_gfx_types.h ssd1306_hal/io.h
|
||||
Binary file not shown.
@@ -1,14 +0,0 @@
|
||||
../bld/lcd/oled_template.o: lcd/oled_template.c lcd/oled_template.h \
|
||||
ssd1306_hal/io.h ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h lcd/lcd_common.h lcd/lcd_common.h \
|
||||
intf/ssd1306_interface.h intf/spi/ssd1306_spi.h
|
||||
Binary file not shown.
@@ -1,14 +0,0 @@
|
||||
../bld/lcd/vga_monitor.o: lcd/vga_monitor.c lcd/vga_monitor.h \
|
||||
ssd1306_hal/io.h ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h lcd/vga_commands.h lcd/lcd_common.h \
|
||||
intf/ssd1306_interface.h
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,21 +0,0 @@
|
||||
../bld/nano_engine/canvas.o: nano_engine/canvas.cpp nano_engine/canvas.h \
|
||||
nano_engine/point.h ssd1306_hal/io.h ssd1306_hal/UserSettings.h \
|
||||
ssd1306_hal/avr/io.h /usr/avr/include/avr/io.h \
|
||||
/usr/avr/include/avr/sfr_defs.h /usr/avr/include/inttypes.h \
|
||||
/usr/lib/gcc/avr/12.2.0/include/stdint.h /usr/avr/include/stdint.h \
|
||||
/usr/avr/include/avr/iom328p.h /usr/avr/include/avr/portpins.h \
|
||||
/usr/avr/include/avr/common.h /usr/avr/include/avr/version.h \
|
||||
/usr/avr/include/avr/fuse.h /usr/avr/include/avr/lock.h \
|
||||
/usr/avr/include/avr/interrupt.h /usr/avr/include/avr/pgmspace.h \
|
||||
/usr/lib/gcc/avr/12.2.0/include/stddef.h /usr/avr/include/avr/sleep.h \
|
||||
/usr/avr/include/avr/eeprom.h /usr/avr/include/util/delay.h \
|
||||
/usr/avr/include/util/delay_basic.h /usr/avr/include/math.h \
|
||||
/usr/avr/include/stdlib.h /usr/avr/include/string.h nano_engine/rect.h \
|
||||
ssd1306_hal/Print_internal.h /usr/avr/include/stdio.h \
|
||||
/usr/lib/gcc/avr/12.2.0/include/stdarg.h nano_gfx_types.h \
|
||||
ssd1306_hal/io.h lcd/lcd_common.h ssd1306.h nano_gfx_types.h \
|
||||
ssd1306_generic.h ssd1306_1bit.h ssd1306_8bit.h ssd1306_16bit.h \
|
||||
ssd1306_fonts.h lcd/lcd_common.h lcd/oled_ssd1306.h lcd/oled_ssd1325.h \
|
||||
lcd/oled_ssd1327.h lcd/oled_ssd1331.h lcd/oled_ssd1351.h \
|
||||
lcd/oled_sh1106.h lcd/lcd_pcd8544.h lcd/lcd_il9163.h lcd/lcd_ili9341.h \
|
||||
lcd/composite_video.h lcd/oled_template.h
|
||||
Binary file not shown.
@@ -1,17 +0,0 @@
|
||||
../bld/nano_engine/core.o: nano_engine/core.cpp nano_engine/core.h \
|
||||
nano_engine/tiler.h nano_engine/canvas.h nano_engine/point.h \
|
||||
ssd1306_hal/io.h ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h nano_engine/rect.h \
|
||||
ssd1306_hal/Print_internal.h /usr/avr/include/stdio.h \
|
||||
/usr/lib/gcc/avr/12.2.0/include/stdarg.h nano_gfx_types.h \
|
||||
ssd1306_hal/io.h lcd/lcd_common.h
|
||||
Binary file not shown.
@@ -1,18 +0,0 @@
|
||||
../bld/nano_gfx.o: nano_gfx.cpp nano_gfx.h nano_gfx_types.h \
|
||||
ssd1306_hal/io.h ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h font6x8.h ssd1306_fonts.h ssd1306.h \
|
||||
ssd1306_generic.h ssd1306_1bit.h ssd1306_8bit.h ssd1306_16bit.h \
|
||||
lcd/lcd_common.h ssd1306_hal/io.h lcd/oled_ssd1306.h lcd/oled_ssd1325.h \
|
||||
lcd/lcd_common.h lcd/oled_ssd1327.h lcd/oled_ssd1331.h \
|
||||
lcd/oled_ssd1351.h lcd/oled_sh1106.h lcd/lcd_pcd8544.h lcd/lcd_il9163.h \
|
||||
lcd/lcd_ili9341.h lcd/composite_video.h lcd/oled_template.h
|
||||
Binary file not shown.
@@ -1,19 +0,0 @@
|
||||
../bld/sprite_pool.o: sprite_pool.cpp sprite_pool.h nano_gfx.h \
|
||||
nano_gfx_types.h ssd1306_hal/io.h ssd1306_hal/UserSettings.h \
|
||||
ssd1306_hal/avr/io.h /usr/avr/include/avr/io.h \
|
||||
/usr/avr/include/avr/sfr_defs.h /usr/avr/include/inttypes.h \
|
||||
/usr/lib/gcc/avr/12.2.0/include/stdint.h /usr/avr/include/stdint.h \
|
||||
/usr/avr/include/avr/iom328p.h /usr/avr/include/avr/portpins.h \
|
||||
/usr/avr/include/avr/common.h /usr/avr/include/avr/version.h \
|
||||
/usr/avr/include/avr/fuse.h /usr/avr/include/avr/lock.h \
|
||||
/usr/avr/include/avr/interrupt.h /usr/avr/include/avr/pgmspace.h \
|
||||
/usr/lib/gcc/avr/12.2.0/include/stddef.h /usr/avr/include/avr/sleep.h \
|
||||
/usr/avr/include/avr/eeprom.h /usr/avr/include/util/delay.h \
|
||||
/usr/avr/include/util/delay_basic.h /usr/avr/include/math.h \
|
||||
/usr/avr/include/stdlib.h /usr/avr/include/string.h font6x8.h \
|
||||
ssd1306_fonts.h ssd1306.h ssd1306_generic.h ssd1306_1bit.h \
|
||||
ssd1306_8bit.h ssd1306_16bit.h lcd/lcd_common.h ssd1306_hal/io.h \
|
||||
lcd/oled_ssd1306.h lcd/oled_ssd1325.h lcd/lcd_common.h \
|
||||
lcd/oled_ssd1327.h lcd/oled_ssd1331.h lcd/oled_ssd1351.h \
|
||||
lcd/oled_sh1106.h lcd/lcd_pcd8544.h lcd/lcd_il9163.h lcd/lcd_ili9341.h \
|
||||
lcd/composite_video.h lcd/oled_template.h
|
||||
Binary file not shown.
@@ -1,14 +0,0 @@
|
||||
../bld/ssd1306_16bit.o: ssd1306_16bit.c ssd1306_16bit.h nano_gfx_types.h \
|
||||
ssd1306_hal/io.h ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h ssd1306_generic.h intf/ssd1306_interface.h \
|
||||
ssd1306_hal/io.h lcd/lcd_common.h
|
||||
Binary file not shown.
@@ -1,21 +0,0 @@
|
||||
../bld/ssd1306_1bit.o: ssd1306_1bit.c ssd1306.h nano_gfx_types.h \
|
||||
ssd1306_hal/io.h ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h ssd1306_generic.h ssd1306_1bit.h \
|
||||
ssd1306_8bit.h ssd1306_16bit.h ssd1306_fonts.h lcd/lcd_common.h \
|
||||
ssd1306_hal/io.h lcd/oled_ssd1306.h lcd/oled_ssd1325.h lcd/lcd_common.h \
|
||||
lcd/oled_ssd1327.h lcd/oled_ssd1331.h lcd/oled_ssd1351.h \
|
||||
lcd/oled_sh1106.h lcd/lcd_pcd8544.h lcd/lcd_il9163.h lcd/lcd_ili9341.h \
|
||||
lcd/composite_video.h lcd/oled_template.h intf/i2c/ssd1306_i2c.h \
|
||||
intf/i2c/ssd1306_i2c_conf.h intf/i2c/ssd1306_i2c_embedded.h \
|
||||
intf/i2c/ssd1306_i2c_twi.h intf/spi/ssd1306_spi.h \
|
||||
intf/ssd1306_interface.h lcd/ssd1306_commands.h
|
||||
Binary file not shown.
@@ -1,15 +0,0 @@
|
||||
../bld/ssd1306_8bit.o: ssd1306_8bit.c ssd1306_8bit.h nano_gfx_types.h \
|
||||
ssd1306_hal/io.h ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h ssd1306_generic.h intf/ssd1306_interface.h \
|
||||
ssd1306_hal/io.h intf/spi/ssd1306_spi.h lcd/ssd1331_commands.h \
|
||||
lcd/lcd_common.h
|
||||
Binary file not shown.
@@ -1,20 +0,0 @@
|
||||
../bld/ssd1306_console.o: ssd1306_console.cpp ssd1306_console.h ssd1306.h \
|
||||
nano_gfx_types.h ssd1306_hal/io.h ssd1306_hal/UserSettings.h \
|
||||
ssd1306_hal/avr/io.h /usr/avr/include/avr/io.h \
|
||||
/usr/avr/include/avr/sfr_defs.h /usr/avr/include/inttypes.h \
|
||||
/usr/lib/gcc/avr/12.2.0/include/stdint.h /usr/avr/include/stdint.h \
|
||||
/usr/avr/include/avr/iom328p.h /usr/avr/include/avr/portpins.h \
|
||||
/usr/avr/include/avr/common.h /usr/avr/include/avr/version.h \
|
||||
/usr/avr/include/avr/fuse.h /usr/avr/include/avr/lock.h \
|
||||
/usr/avr/include/avr/interrupt.h /usr/avr/include/avr/pgmspace.h \
|
||||
/usr/lib/gcc/avr/12.2.0/include/stddef.h /usr/avr/include/avr/sleep.h \
|
||||
/usr/avr/include/avr/eeprom.h /usr/avr/include/util/delay.h \
|
||||
/usr/avr/include/util/delay_basic.h /usr/avr/include/math.h \
|
||||
/usr/avr/include/stdlib.h /usr/avr/include/string.h ssd1306_generic.h \
|
||||
ssd1306_1bit.h ssd1306_8bit.h ssd1306_16bit.h ssd1306_fonts.h \
|
||||
lcd/lcd_common.h ssd1306_hal/io.h lcd/oled_ssd1306.h lcd/oled_ssd1325.h \
|
||||
lcd/lcd_common.h lcd/oled_ssd1327.h lcd/oled_ssd1331.h \
|
||||
lcd/oled_ssd1351.h lcd/oled_sh1106.h lcd/lcd_pcd8544.h lcd/lcd_il9163.h \
|
||||
lcd/lcd_ili9341.h lcd/composite_video.h lcd/oled_template.h \
|
||||
ssd1306_hal/Print_internal.h /usr/avr/include/stdio.h \
|
||||
/usr/lib/gcc/avr/12.2.0/include/stdarg.h
|
||||
Binary file not shown.
@@ -1,13 +0,0 @@
|
||||
../bld/ssd1306_fonts.o: ssd1306_fonts.c ssd1306_fonts.h ssd1306_hal/io.h \
|
||||
ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h nano_gfx_types.h
|
||||
Binary file not shown.
@@ -1,21 +0,0 @@
|
||||
../bld/ssd1306_generic.o: ssd1306_generic.c ssd1306.h nano_gfx_types.h \
|
||||
ssd1306_hal/io.h ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h ssd1306_generic.h ssd1306_1bit.h \
|
||||
ssd1306_8bit.h ssd1306_16bit.h ssd1306_fonts.h lcd/lcd_common.h \
|
||||
ssd1306_hal/io.h lcd/oled_ssd1306.h lcd/oled_ssd1325.h lcd/lcd_common.h \
|
||||
lcd/oled_ssd1327.h lcd/oled_ssd1331.h lcd/oled_ssd1351.h \
|
||||
lcd/oled_sh1106.h lcd/lcd_pcd8544.h lcd/lcd_il9163.h lcd/lcd_ili9341.h \
|
||||
lcd/composite_video.h lcd/oled_template.h intf/i2c/ssd1306_i2c.h \
|
||||
intf/i2c/ssd1306_i2c_conf.h intf/i2c/ssd1306_i2c_embedded.h \
|
||||
intf/i2c/ssd1306_i2c_twi.h intf/spi/ssd1306_spi.h \
|
||||
intf/ssd1306_interface.h
|
||||
Binary file not shown.
@@ -1,16 +0,0 @@
|
||||
../bld/ssd1306_hal/arduino/platform.o: ssd1306_hal/arduino/platform.cpp \
|
||||
ssd1306_hal/io.h ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h intf/ssd1306_interface.h \
|
||||
intf/i2c/ssd1306_i2c.h intf/i2c/ssd1306_i2c_conf.h \
|
||||
intf/i2c/ssd1306_i2c_embedded.h intf/i2c/ssd1306_i2c_twi.h \
|
||||
intf/spi/ssd1306_spi.h lcd/lcd_common.h
|
||||
Binary file not shown.
@@ -1,13 +0,0 @@
|
||||
../bld/ssd1306_hal/avr/platform.o: ssd1306_hal/avr/platform.c \
|
||||
ssd1306_hal/io.h ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h
|
||||
Binary file not shown.
@@ -1,13 +0,0 @@
|
||||
../bld/ssd1306_hal/energia/platform.o: ssd1306_hal/energia/platform.cpp \
|
||||
ssd1306_hal/io.h ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h
|
||||
Binary file not shown.
@@ -1 +0,0 @@
|
||||
../bld/ssd1306_hal/linux/platform.o: ssd1306_hal/linux/platform.c
|
||||
Binary file not shown.
@@ -1 +0,0 @@
|
||||
../bld/ssd1306_hal/mingw/platform.o: ssd1306_hal/mingw/platform.c
|
||||
Binary file not shown.
@@ -1,13 +0,0 @@
|
||||
../bld/ssd1306_hal/stm32/platform.o: ssd1306_hal/stm32/platform.c \
|
||||
ssd1306_hal/io.h ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h
|
||||
Binary file not shown.
@@ -1,13 +0,0 @@
|
||||
../bld/ssd1306_hal/template/platform.o: ssd1306_hal/template/platform.c \
|
||||
ssd1306_hal/io.h ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h
|
||||
Binary file not shown.
@@ -1,18 +0,0 @@
|
||||
../bld/ssd1306_menu.o: ssd1306_menu.c font6x8.h ssd1306_fonts.h \
|
||||
ssd1306_hal/io.h ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h nano_gfx_types.h ssd1306.h ssd1306_generic.h \
|
||||
ssd1306_1bit.h ssd1306_8bit.h ssd1306_16bit.h lcd/lcd_common.h \
|
||||
ssd1306_hal/io.h lcd/oled_ssd1306.h lcd/oled_ssd1325.h lcd/lcd_common.h \
|
||||
lcd/oled_ssd1327.h lcd/oled_ssd1331.h lcd/oled_ssd1351.h \
|
||||
lcd/oled_sh1106.h lcd/lcd_pcd8544.h lcd/lcd_il9163.h lcd/lcd_ili9341.h \
|
||||
lcd/composite_video.h lcd/oled_template.h
|
||||
Binary file not shown.
@@ -1,13 +0,0 @@
|
||||
../bld/ssd1306_uart.o: ssd1306_uart.c ssd1306_uart.h ssd1306_hal/io.h \
|
||||
ssd1306_hal/UserSettings.h ssd1306_hal/avr/io.h \
|
||||
/usr/avr/include/avr/io.h /usr/avr/include/avr/sfr_defs.h \
|
||||
/usr/avr/include/inttypes.h /usr/lib/gcc/avr/12.2.0/include/stdint.h \
|
||||
/usr/avr/include/stdint.h /usr/avr/include/avr/iom328p.h \
|
||||
/usr/avr/include/avr/portpins.h /usr/avr/include/avr/common.h \
|
||||
/usr/avr/include/avr/version.h /usr/avr/include/avr/fuse.h \
|
||||
/usr/avr/include/avr/lock.h /usr/avr/include/avr/interrupt.h \
|
||||
/usr/avr/include/avr/pgmspace.h /usr/lib/gcc/avr/12.2.0/include/stddef.h \
|
||||
/usr/avr/include/avr/sleep.h /usr/avr/include/avr/eeprom.h \
|
||||
/usr/avr/include/util/delay.h /usr/avr/include/util/delay_basic.h \
|
||||
/usr/avr/include/math.h /usr/avr/include/stdlib.h \
|
||||
/usr/avr/include/string.h /usr/avr/include/util/setbaud.h
|
||||
Binary file not shown.
@@ -0,0 +1,282 @@
|
||||
//
|
||||
// Created by MightyPork on 2022/11/12.
|
||||
//
|
||||
|
||||
#include "framebuffer.h"
|
||||
|
||||
#define MIN(a, b) ((a)>(b)?(b):(a))
|
||||
#define MAX(a, b) ((a)>(b)?(a):(b))
|
||||
|
||||
#include <string.h>
|
||||
|
||||
uint8_t fb[(FBH / 8) * FBW];
|
||||
|
||||
/** Fill with a vertical pattern, 1 byte */
|
||||
void fb_fill(uint8_t pattern)
|
||||
{
|
||||
memset(fb, pattern, sizeof(fb));
|
||||
}
|
||||
|
||||
static void draw_mask(fbsize_t idx, uint8_t mask, uint8_t color)
|
||||
{
|
||||
if (color != 0) {
|
||||
fb[idx] |= mask;
|
||||
} else {
|
||||
fb[idx] &= ~mask;
|
||||
}
|
||||
}
|
||||
|
||||
void fb_px(fbpos_t x, fbpos_t y, uint8_t color)
|
||||
{
|
||||
if (x >= FBW || y >= FBH) { return; }
|
||||
const fbpos_t row = y / 8;
|
||||
const fbpos_t rowrem = y % 8;
|
||||
const fbsize_t cell = (fbsize_t) x + (fbsize_t) row * FBW;
|
||||
draw_mask(cell, 1 << rowrem, color);
|
||||
}
|
||||
|
||||
uint8_t fb_getpx(fbpos_t x, fbpos_t y)
|
||||
{
|
||||
if (x >= FBW || y >= FBH) { return 0; }
|
||||
const fbpos_t row = y / 8;
|
||||
const fbpos_t rowrem = y % 8;
|
||||
const fbsize_t cell = (fbsize_t) x + (fbsize_t) row * FBW;
|
||||
if (fb[cell] & (1 << rowrem)) {
|
||||
return 0xFF;
|
||||
} else {
|
||||
return 0x00;
|
||||
}
|
||||
}
|
||||
|
||||
void fb_hline(fbpos_t x, fbpos_t y, fbpos_t w, uint8_t color)
|
||||
{
|
||||
if (x >= FBW || y >= FBH) { return; }
|
||||
w = MIN(FBW - x, w);
|
||||
const fbpos_t row = y / 8;
|
||||
const fbpos_t rowrem = y % 8;
|
||||
fbsize_t cell = (fbsize_t) x + (fbsize_t) row * FBW;
|
||||
for (uint8_t i = 0; i < w; i++) {
|
||||
draw_mask(cell, 1 << rowrem, color);
|
||||
cell++;
|
||||
}
|
||||
}
|
||||
|
||||
void fb_vline(fbpos_t x, fbpos_t y, fbpos_t h, uint8_t color)
|
||||
{
|
||||
if (x >= FBW || y >= FBH) { return; }
|
||||
h = MIN(FBH - y - 1, h);
|
||||
const fbpos_t row = y / 8;
|
||||
const fbpos_t rowrem = y % 8;
|
||||
uint16_t cell = (uint16_t) x + (uint16_t) row * FBW;
|
||||
|
||||
if (rowrem + h < 8) {
|
||||
// all within one cell
|
||||
const uint8_t mask = (0xFF << rowrem) & (0xFF >> (8 - h - rowrem));
|
||||
draw_mask(cell, mask, color);
|
||||
return;
|
||||
} else {
|
||||
// First
|
||||
draw_mask(cell, 0xFF << rowrem, color);
|
||||
h -= (rowrem == 0 ? 8 : (8 - rowrem));
|
||||
|
||||
const fbpos_t whole_cells = h / 8;
|
||||
if (whole_cells > 0) {
|
||||
h -= whole_cells * 8;
|
||||
for (fbpos_t i = 0; i < whole_cells; i++) {
|
||||
cell += FBW;
|
||||
draw_mask(cell, 0xFF, color);
|
||||
}
|
||||
}
|
||||
|
||||
// last
|
||||
cell += FBW;
|
||||
draw_mask(cell, 0xFF >> (8 - h), color);
|
||||
}
|
||||
}
|
||||
|
||||
void fb_rect(fbpos_t x, fbpos_t y, fbpos_t w, fbpos_t h, uint8_t color)
|
||||
{
|
||||
if (x >= FBW || y >= FBH) { return; }
|
||||
w = MIN(FBW - x, w);
|
||||
h = MIN(FBH - y, h);
|
||||
const fbpos_t row = y / 8;
|
||||
const fbpos_t rowrem = y % 8;
|
||||
fbsize_t cell = (fbsize_t) x + (fbsize_t) row * FBW;
|
||||
|
||||
if (w == 1 && h == 1) {
|
||||
fb_px(x, y, color);
|
||||
} else if (w == 1) {
|
||||
fb_vline(x, y, h, color);
|
||||
} else if (h == 1) {
|
||||
fb_hline(x, y, w, color);
|
||||
} else if (rowrem + h <= 8) {
|
||||
// all within one cell
|
||||
uint8_t mask = (0xFF << rowrem) & (0xFF >> (8 - h - rowrem));
|
||||
|
||||
for (fbpos_t i = 0; i < w; i++) {
|
||||
draw_mask(cell + i, mask, color);
|
||||
}
|
||||
return;
|
||||
} else {
|
||||
// First
|
||||
uint8_t mask = (0xFF << rowrem);
|
||||
for (fbpos_t i = 0; i < w; i++) {
|
||||
draw_mask(cell + i, mask, color);
|
||||
}
|
||||
h -= 8 - rowrem;
|
||||
|
||||
const fbpos_t whole_cells = h / 8;
|
||||
if (whole_cells > 0) {
|
||||
h -= whole_cells * 8;
|
||||
for (fbpos_t j = 0; j < whole_cells; j++) {
|
||||
cell += FBW;
|
||||
for (fbpos_t i = 0; i < w; i++) {
|
||||
draw_mask(cell + i, 0xFF, color);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
cell += FBW;
|
||||
|
||||
// last
|
||||
mask = (0xFF >> (8 - h));
|
||||
for (fbpos_t i = 0; i < w; i++) {
|
||||
draw_mask(cell + i, mask, color);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void fb_frame(fbpos_t x, fbpos_t y, fbpos_t w, fbpos_t h, fbpos_t thickness, uint8_t color)
|
||||
{
|
||||
if (thickness == 0) {
|
||||
return;
|
||||
} else if (thickness == 1) {
|
||||
fb_hline(x, y, w, color);
|
||||
fb_vline(x, y, h, color);
|
||||
fb_hline(x, y + h - 1, w, color);
|
||||
fb_vline(x + w - 1, y, h, color);
|
||||
} else {
|
||||
fb_rect(x, y, w, thickness, color);
|
||||
fb_rect(x, y + h - thickness, w, thickness, color);
|
||||
fb_rect(x, y + thickness, thickness, h - 2 * thickness, color);
|
||||
fb_rect(x + w - thickness, y + thickness, thickness, h - 2 * thickness, color);
|
||||
}
|
||||
}
|
||||
|
||||
void fb_bitmap(fbpos_t x, fbpos_t y, fbpos_t w, fbpos_t h, const uint8_t *map, uint8_t color)
|
||||
{
|
||||
if (x >= FBW || y >= FBH) { return; }
|
||||
const fbpos_t w0 = w;
|
||||
w = MIN(FBW - x - 1, w);
|
||||
h = MIN(FBH - y - 1, h);
|
||||
const fbpos_t row = y / 8;
|
||||
const fbpos_t rowrem = y % 8;
|
||||
fbsize_t cell = (fbsize_t) x + (fbsize_t) row * FBW;
|
||||
|
||||
if (rowrem + h <= 8) {
|
||||
for (fbpos_t i = 0; i < w; i++) {
|
||||
// all within one cell
|
||||
const uint8_t mask = (map[i] & (0xFF >> (8 - h))) << rowrem;
|
||||
draw_mask(cell + i, mask, color);
|
||||
}
|
||||
return;
|
||||
} else {
|
||||
fbsize_t mapc0 = 0;
|
||||
|
||||
// Draw the bitmap slice-by-slice based on how rows of the bitmap intersect with rows of the canvas.
|
||||
// This could be optimized to walk each row of the canvas only once, but the code would get bigger.
|
||||
while (h > 0) {
|
||||
for (fbpos_t i = 0; i < w; i++) {
|
||||
const uint8_t mask = (map[i + mapc0] & (0xFF >> rowrem)) << rowrem;
|
||||
draw_mask(cell + i, mask, color);
|
||||
}
|
||||
|
||||
cell += FBW;
|
||||
|
||||
if (rowrem != 0) {
|
||||
for (fbpos_t i = 0; i < w; i++) {
|
||||
const uint8_t mask = (map[i + mapc0] & (0xFF << (8 - rowrem))) >> (8 - rowrem);
|
||||
draw_mask(cell + i, mask, color);
|
||||
}
|
||||
}
|
||||
|
||||
if (h > 8) {
|
||||
h -= 8;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
mapc0 += w0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
enum SevenSegBars {
|
||||
T = 1, RT = 2, RB = 4, B = 8, LB = 16, LT = 32, M = 64
|
||||
};
|
||||
|
||||
static const uint8_t PROGMEM seven[] = {
|
||||
[0] = T | RT | RB | B | LB | LT,
|
||||
[1] = RT | RB,
|
||||
[2] = T | RT | M | LB | B,
|
||||
[3] = T | RT | M | RB | B,
|
||||
[4] = RT | RB | M | LT,
|
||||
[5] = T | LT | M | RB | B,
|
||||
[6] = T | LT | LB | B | RB | M,
|
||||
[7] = T | RT | RB,
|
||||
[8] = T | LT | RT | LB | RB | B | M,
|
||||
[9] = T | LT | RT | RB | B | M,
|
||||
};
|
||||
|
||||
fbpos_t fb_7seg_dig(fbpos_t x, fbpos_t y, fbpos_t w, fbpos_t h, fbpos_t th, uint8_t digit, uint8_t color)
|
||||
{
|
||||
const uint8_t mask = digit > 9 ? 0 : pgm_read_byte(&seven[digit]);
|
||||
const fbpos_t wi = w - th * 2;
|
||||
const fbpos_t hi = (h - th * 3) / 2;
|
||||
|
||||
bool bcolor = !color; // changed for XOR
|
||||
|
||||
fb_rect(x + th,
|
||||
y,
|
||||
wi,
|
||||
th, bcolor ^ (bool) (mask & T));
|
||||
|
||||
fb_rect(x + th,
|
||||
y + th + hi,
|
||||
wi,
|
||||
th, bcolor ^ (bool) (mask & M));
|
||||
|
||||
fb_rect(x + th,
|
||||
y + th * 2 + hi * 2,
|
||||
wi,
|
||||
th, bcolor ^ (bool) (mask & B));
|
||||
|
||||
fb_rect(x,
|
||||
y + th,
|
||||
th,
|
||||
hi, bcolor ^ (bool) (mask & LT));
|
||||
|
||||
fb_rect(x + th + wi,
|
||||
y + hi + th,
|
||||
th,
|
||||
hi, bcolor ^ (bool) (mask & LB));
|
||||
|
||||
fb_rect(x + th + wi,
|
||||
y + th,
|
||||
th,
|
||||
hi, bcolor ^ (bool) (mask & RT));
|
||||
|
||||
fb_rect(x + th + wi,
|
||||
y + th * 2 + hi,
|
||||
th,
|
||||
hi, bcolor ^ (bool) (mask & RB));
|
||||
|
||||
return w;
|
||||
}
|
||||
|
||||
fbpos_t fb_7seg_period(fbpos_t x, fbpos_t y, fbpos_t w, fbpos_t h, fbpos_t th, uint8_t color)
|
||||
{
|
||||
const fbpos_t hi = (h - th * 3) / 2;
|
||||
fb_rect(x, y + hi * 2 + th * 2, th, th, color);
|
||||
return th;
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
//
|
||||
// Created by MightyPork on 2022/11/12.
|
||||
//
|
||||
|
||||
#ifndef FRAMEBUFFER_H
|
||||
#define FRAMEBUFFER_H
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include "framebuffer_config.h"
|
||||
|
||||
#define FBSET 0xFF
|
||||
#define FBCLEAR 0x00
|
||||
|
||||
typedef uint16_t fbsize_t;
|
||||
typedef uint8_t fbpos_t;
|
||||
|
||||
/// Framebuffer backing array.
|
||||
///
|
||||
/// The format is the native format for SSD1306: array of bytes representing pixels in 8 rows at once, LSB is the topmost row.
|
||||
///
|
||||
/// a0 b0 ... til the display width
|
||||
/// a1 b1
|
||||
/// a2 b2
|
||||
/// ... ...
|
||||
/// a7 b7
|
||||
///
|
||||
/// and more bytes continue rows 8-15 and so on
|
||||
extern uint8_t fb[(FBH / 8) * FBW];
|
||||
|
||||
/// Fill the entire screen with a byte pattern.
|
||||
/// Use 0xFF or 0x00 for a solid fill. Other patterns may be used to create horizontal stripes.
|
||||
void fb_fill(uint8_t pattern);
|
||||
|
||||
/// Clear the display (fill with 0x00)
|
||||
static inline void fb_clear(void)
|
||||
{
|
||||
fb_fill(0);
|
||||
}
|
||||
|
||||
/// Set a single pixel
|
||||
void fb_px(fbpos_t x, fbpos_t y, uint8_t color);
|
||||
|
||||
/// Get pixel color
|
||||
uint8_t fb_getpx(fbpos_t x, fbpos_t y);
|
||||
|
||||
/// Draw a horizontal line
|
||||
void fb_hline(fbpos_t x, fbpos_t y, fbpos_t w, uint8_t color);
|
||||
|
||||
/// Draw a vertical line
|
||||
void fb_vline(fbpos_t x, fbpos_t y, fbpos_t h, uint8_t color);
|
||||
|
||||
/// Draw a filled rect
|
||||
void fb_rect(fbpos_t x, fbpos_t y, fbpos_t w, fbpos_t h, uint8_t color);
|
||||
|
||||
/// Draw a frame (unfilled rect)
|
||||
void fb_frame(fbpos_t x, fbpos_t y, fbpos_t w, fbpos_t h, fbpos_t thickness, uint8_t color);
|
||||
|
||||
/// Draw a bitmap
|
||||
void fb_bitmap(fbpos_t x, fbpos_t y, fbpos_t w, fbpos_t h, const uint8_t *map, uint8_t color);
|
||||
|
||||
/// Draw a 7-segment digit. Returns its width (without spacing)
|
||||
///
|
||||
/// \param x - pos X (left top)
|
||||
/// \param y - pos Y (left top)
|
||||
/// \param w - full digit width
|
||||
/// \param h - full digit height; will be adjusted down if needed
|
||||
/// \param th - thickness
|
||||
/// \param digit - digit 0-9
|
||||
/// \return width taken
|
||||
fbpos_t fb_7seg_dig(fbpos_t x, fbpos_t y, fbpos_t w, fbpos_t h, fbpos_t th, uint8_t digit, uint8_t color);
|
||||
|
||||
/// Draw a 7-segment period. Returns its width (without spacing).
|
||||
/// Digit height is (w * 2 - th)
|
||||
///
|
||||
/// \param x - pos X (digit left top)
|
||||
/// \param y - pos Y (digit left top)
|
||||
/// \param w - full digit width
|
||||
/// \param h - full digit height; will be adjusted down if needed
|
||||
/// \param th - thickness
|
||||
/// \return width taken
|
||||
fbpos_t fb_7seg_period(fbpos_t x, fbpos_t y, fbpos_t w, fbpos_t h, fbpos_t th, uint8_t color);
|
||||
|
||||
/// Output the framebuffer array `fb` to the display device.
|
||||
///
|
||||
/// The user must implement this
|
||||
extern void fb_blit(void);
|
||||
|
||||
#endif //FRAMEBUFFER_H
|
||||
@@ -0,0 +1,13 @@
|
||||
#ifndef FRAMEBUFFER_CONFIG_H
|
||||
#define FRAMEBUFFER_CONFIG_H
|
||||
|
||||
#define FBW 128
|
||||
#define FBH 32
|
||||
|
||||
#include <avr/pgmspace.h>
|
||||
/*
|
||||
#define PROGMEM
|
||||
#define pgm_read_byte(adr) (*adr)
|
||||
*/
|
||||
|
||||
#endif /* FRAMEBUFFER_CONFIG_H */
|
||||
+1
-6
@@ -9,12 +9,7 @@
|
||||
#include <stdint.h>
|
||||
|
||||
extern volatile bool req_update_display;
|
||||
extern volatile bool disp_show_tick_mark;
|
||||
extern volatile bool status_weak_battery;
|
||||
|
||||
/// timestamp counted in units of 100ms
|
||||
extern volatile bool is_weak_battery;
|
||||
extern volatile uint16_t timestamp_100ms;
|
||||
/// sub-second counter, counts 0-9 then overflows
|
||||
extern volatile uint16_t subsec_counter;
|
||||
|
||||
#endif //CPROJ_GLOBAL_VARIABLES_H
|
||||
|
||||
+197
-30
@@ -6,51 +6,218 @@
|
||||
#include <stdbool.h>
|
||||
#include "ssd1306.h"
|
||||
#include "user_interface.h"
|
||||
#include "framebuffer.h"
|
||||
|
||||
void show_loading_screen(uint8_t progress_percent, bool clear) {
|
||||
// HACKS - GUI dev here
|
||||
|
||||
fb_clear();
|
||||
fb_blit();
|
||||
|
||||
const uint8_t ryba[14] = {
|
||||
0b11000011,
|
||||
0b01100110,
|
||||
0b01111110,
|
||||
0b00111100,
|
||||
0b00011000,
|
||||
0b00111100,
|
||||
0b01111110,
|
||||
0b11111111,
|
||||
0b11111111,
|
||||
0b11111011,
|
||||
0b11111111,
|
||||
0b01111110,
|
||||
0b00111100,
|
||||
0b00011000,
|
||||
};
|
||||
|
||||
|
||||
#define ZIR_W 12
|
||||
#define ZIR_H 3
|
||||
const uint8_t zirafa[ZIR_H * ZIR_W] = {
|
||||
// levo
|
||||
0b00000000,
|
||||
0b00000000,
|
||||
0b00000000,
|
||||
0b00000000,
|
||||
0b00000000,
|
||||
0b00000000,
|
||||
0b00000000, // vrsek
|
||||
0b00011000,
|
||||
0b00011111,
|
||||
0b11111000,
|
||||
0b00011111,
|
||||
0b00001000,
|
||||
|
||||
0b00000000,
|
||||
0b00000000,
|
||||
0b00000000,
|
||||
0b00000000,
|
||||
0b00000000,
|
||||
0b00000000,
|
||||
0b00000000,
|
||||
0b00000000,
|
||||
0b00000000,
|
||||
0b11111111,
|
||||
0b00000000,
|
||||
0b00000000,
|
||||
|
||||
0b00010000,
|
||||
0b00001000,
|
||||
0b11111000,
|
||||
0b00011000,
|
||||
0b11111000, // spodek
|
||||
0b00011000,
|
||||
0b00011000,
|
||||
0b00011000,
|
||||
0b11111000,
|
||||
0b00011111,
|
||||
0b11111000,
|
||||
0b00000000,
|
||||
};
|
||||
|
||||
|
||||
#if 1
|
||||
|
||||
|
||||
int pos=0;
|
||||
for(;;) {
|
||||
fb_clear();
|
||||
//fb_bitmap(0, pos, 14, 8, ryba, 1);
|
||||
fb_bitmap(0, pos, ZIR_W, ZIR_H, zirafa, 1);
|
||||
fb_blit();
|
||||
_delay_ms(500);
|
||||
pos++;
|
||||
if (pos>31) {
|
||||
pos = 0;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
int a = 10;
|
||||
int b = 40;
|
||||
for (;;) {
|
||||
fb_bitmap(a, 0, ZIR_W, ZIR_H*8, zirafa, 0);
|
||||
fb_bitmap(b, 16, 14, 8, ryba, 0);
|
||||
a++;
|
||||
b++;
|
||||
if(a>127) {
|
||||
a = 0;
|
||||
}
|
||||
|
||||
if(b>127) {
|
||||
b = 0;
|
||||
}
|
||||
fb_bitmap(a, 0, ZIR_W, ZIR_H*8, zirafa, 1);
|
||||
fb_bitmap(b, 16, 14, 8, ryba, 1);
|
||||
|
||||
fb_blit();
|
||||
_delay_ms(5);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
for(;;) {}
|
||||
|
||||
//
|
||||
|
||||
#if 0
|
||||
int a = 0, b = 0, ai = 1, bi = 1;
|
||||
int c = 50, d = 5, ci = -1, di = 1;
|
||||
int e = 70, f = 10, ei = 1, fi = -1;
|
||||
|
||||
int w=15;
|
||||
int W=20;
|
||||
|
||||
for(;;){
|
||||
fb_clear();
|
||||
|
||||
fb_rect(a, b, w, w, 1);
|
||||
fb_rect(c, d, w, w, 1);
|
||||
fb_rect(e, f, W, W, 1);
|
||||
|
||||
fb_rect(a+1, b+1, w-2, w-2, 0);
|
||||
fb_rect(c+1, d+1, w-2, w-2, 0);
|
||||
fb_rect(e+1, f+1, W-2, W-2, 0);
|
||||
|
||||
a += ai;
|
||||
if (a == FBW-1-w) ai = -1;
|
||||
if (a == 0) ai = 1;
|
||||
b += bi;
|
||||
if (b == FBH-1-w) bi = -1;
|
||||
if (b == 0) bi = 1;
|
||||
|
||||
c += ci;
|
||||
if (c == FBW-1-w) ci = -1;
|
||||
if (c == 0) ci = 1;
|
||||
d += di;
|
||||
if (d == FBH-1-w) di = -1;
|
||||
if (d == 0) di = 1;
|
||||
|
||||
e += ei;
|
||||
if (e == FBW-1-W) ei = -1;
|
||||
if (e == 0) ei = 1;
|
||||
f += fi;
|
||||
if (f == FBH-1-W) fi = -1;
|
||||
if (f == 0) fi = 1;
|
||||
|
||||
fb_blit();
|
||||
_delay_ms(5);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
void show_loading_screen(uint8_t progress_percent, bool clear)
|
||||
{
|
||||
if (clear) {
|
||||
ssd1306_clearScreen();
|
||||
}
|
||||
|
||||
// bar in a box
|
||||
|
||||
#define hei 16
|
||||
#define hei 20
|
||||
#define wid DISPLAY_W
|
||||
#define thic 2
|
||||
#define inpad 3
|
||||
|
||||
#define ofsx ((DISPLAY_W - wid)/2)
|
||||
#define ofsy 8
|
||||
#define ofsy ((DISPLAY_H - hei)/2)
|
||||
|
||||
ssd1306_setColor(0xFFFF);
|
||||
|
||||
lcdint_t xx = (uint8_t)(((uint16_t)wid * (uint16_t)progress_percent)/(uint16_t)100);
|
||||
const uint8_t rects[4][4] = {
|
||||
// top
|
||||
{
|
||||
0, 0,
|
||||
wid - 1, thic - 1
|
||||
},
|
||||
// left
|
||||
{
|
||||
0, thic,
|
||||
thic - 1, hei - thic - 1
|
||||
},
|
||||
// right
|
||||
{
|
||||
wid - thic, thic,
|
||||
wid - 1, hei - thic - 1
|
||||
},
|
||||
// bot
|
||||
{
|
||||
0, hei - thic,
|
||||
wid - 1, hei - 1
|
||||
},
|
||||
};
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
ssd1306_fillRect(
|
||||
ofsx,
|
||||
ofsy,
|
||||
ofsx + xx,
|
||||
ofsy + hei
|
||||
ofsx + rects[i][0],
|
||||
ofsy + rects[i][1],
|
||||
ofsx + rects[i][2],
|
||||
ofsy + rects[i][3]
|
||||
);
|
||||
|
||||
}
|
||||
//
|
||||
ssd1306_fillRect(
|
||||
ofsx + xx + 1,
|
||||
ofsy,
|
||||
ofsx + wid - 2,
|
||||
ofsy
|
||||
);
|
||||
|
||||
ssd1306_fillRect(
|
||||
ofsx + xx + 1,
|
||||
ofsy + hei,
|
||||
ofsx + wid - 2,
|
||||
ofsy + hei
|
||||
);
|
||||
|
||||
ssd1306_fillRect(
|
||||
ofsx + wid - 1,
|
||||
ofsy,
|
||||
ofsx + wid - 1,
|
||||
ofsy + hei
|
||||
ofsx + thic + inpad,
|
||||
ofsy + thic + inpad,
|
||||
ofsx + (uint8_t)(((uint16_t)wid * (uint16_t)progress_percent)/(uint16_t)100) - thic - inpad - 1,
|
||||
ofsy + hei - thic - inpad - 1
|
||||
);
|
||||
}
|
||||
|
||||
+1
-1
@@ -72,7 +72,7 @@ ISR(ADC_vect)
|
||||
// If fail to reach target voltage in reasonable time,
|
||||
// show weak battery icon and stop trying.
|
||||
if ((timestamp_100ms - ts_cap_charged) > 10 && analog < ADCVAL_MINIMAL) {
|
||||
status_weak_battery = true;
|
||||
is_weak_battery = true;
|
||||
}
|
||||
}
|
||||
} else if (analog < ADCVAL_TURN_ON) {
|
||||
|
||||
+15
-25
@@ -7,12 +7,10 @@
|
||||
#include "high_voltage.h"
|
||||
#include "radiation.h"
|
||||
#include "user_interface.h"
|
||||
#include "ssd1306.h"
|
||||
|
||||
/* globals */
|
||||
volatile bool req_update_display = false;
|
||||
volatile bool status_weak_battery = false;
|
||||
volatile uint8_t disp_show_tick_mark = 0;
|
||||
volatile bool is_weak_battery = false;
|
||||
|
||||
static void shutdown_due_to_weak_battery();
|
||||
|
||||
@@ -22,6 +20,9 @@ void __attribute__((noreturn)) main()
|
||||
init_user_interface();
|
||||
|
||||
show_loading_screen(0, true);
|
||||
while(1){}
|
||||
|
||||
#if 0
|
||||
|
||||
init_timebase();
|
||||
init_radiation();
|
||||
@@ -33,36 +34,25 @@ void __attribute__((noreturn)) main()
|
||||
init_high_voltage();
|
||||
|
||||
for (;;) {
|
||||
// one tick makes the marker lit for 10 ms (more in practice, plus display ghosting latency)
|
||||
for (uint8_t i = 0; i < 10; i++) {
|
||||
_delay_ms(10);
|
||||
if (disp_show_tick_mark == 1) {
|
||||
ssd1306_setColor(0xFFFF);
|
||||
ssd1306_fillRect(124, 0, 127, 3);
|
||||
disp_show_tick_mark = 2;
|
||||
} else if (disp_show_tick_mark == 2) {
|
||||
disp_show_tick_mark = 0;
|
||||
ssd1306_setColor(0x0000);
|
||||
ssd1306_fillRect(124, 0, 127, 3);
|
||||
ssd1306_setColor(0xFFFF);
|
||||
}
|
||||
}
|
||||
_delay_ms(100);
|
||||
|
||||
// check if redraw is needed
|
||||
// bool update_display = true;
|
||||
// ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {
|
||||
// update_display = req_update_display;
|
||||
// req_update_display = false;
|
||||
// }
|
||||
bool update_display = false;
|
||||
ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {
|
||||
update_display = req_update_display;
|
||||
req_update_display = false;
|
||||
}
|
||||
|
||||
// if (update_display) {
|
||||
if (update_display) {
|
||||
show_current_radiation();
|
||||
// }
|
||||
}
|
||||
|
||||
if (status_weak_battery) {
|
||||
if (is_weak_battery) {
|
||||
shutdown_due_to_weak_battery();
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
+41
-58
@@ -14,15 +14,15 @@
|
||||
#include <math.h>
|
||||
|
||||
#define MEAS_BIN_COUNT 120
|
||||
typedef uint16_t ticks_t;
|
||||
typedef uint8_t ticks_t;
|
||||
typedef uint8_t binnum_t;
|
||||
#define TICKS_MAX 0xFFFF
|
||||
#define TICKS_MAX 255
|
||||
|
||||
#define NEEDED_TICKS_FOR_VALUE_DISPLAY 5
|
||||
|
||||
#define TICKS_NEEDED_FOR_AUTORANGE 10
|
||||
#define TICKS_NEEDED_FOR_AUTORANGE 15
|
||||
|
||||
uint32_t get_tick_count_in_bins(binnum_t bincount);
|
||||
uint16_t get_tick_count_in_bins(binnum_t bincount);
|
||||
|
||||
/// measurements in the last X seconds
|
||||
static volatile ticks_t measurements[MEAS_BIN_COUNT];
|
||||
@@ -40,7 +40,6 @@ ISR(INT0_vect)
|
||||
measurements[meas_bin]++;
|
||||
}
|
||||
req_update_display = true;
|
||||
disp_show_tick_mark = 1;
|
||||
}
|
||||
|
||||
void second_callback_irq()
|
||||
@@ -83,8 +82,7 @@ void second_callback_irq()
|
||||
}
|
||||
}
|
||||
|
||||
void init_radiation()
|
||||
{
|
||||
void init_radiation() {
|
||||
// clear the measurement buffer
|
||||
memset((void*) measurements, 0, sizeof(measurements));
|
||||
|
||||
@@ -95,9 +93,8 @@ void init_radiation()
|
||||
EIMSK = _BV(INT0);
|
||||
}
|
||||
|
||||
uint8_t rad_get_progress()
|
||||
{
|
||||
uint16_t ticks = get_tick_count_in_bins(num_live_bins);
|
||||
uint8_t rad_get_progress() {
|
||||
ticks_t ticks = get_tick_count_in_bins(num_live_bins);
|
||||
|
||||
if (ticks >= NEEDED_TICKS_FOR_VALUE_DISPLAY) {
|
||||
return 100;
|
||||
@@ -106,19 +103,24 @@ uint8_t rad_get_progress()
|
||||
return (((uint16_t)ticks * 100) / (uint16_t)NEEDED_TICKS_FOR_VALUE_DISPLAY);
|
||||
}
|
||||
|
||||
uint32_t get_tick_count_in_bins(binnum_t bincount)
|
||||
{
|
||||
uint16_t get_tick_count_in_bins(binnum_t bincount) {
|
||||
if (bincount == 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint32_t all_ticks = 0;
|
||||
uint16_t all_ticks = 0;
|
||||
|
||||
ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {
|
||||
|
||||
// going backwards
|
||||
binnum_t bin = meas_bin;
|
||||
for (;;) {
|
||||
all_ticks += (uint32_t) measurements[bin];
|
||||
ticks_t in_bin = measurements[bin];
|
||||
if ((0xFFFF - all_ticks) < in_bin) {
|
||||
all_ticks = 0xFFFF;
|
||||
} else {
|
||||
all_ticks += in_bin;
|
||||
}
|
||||
|
||||
if (bin == meas_oldest_bin) {
|
||||
break;
|
||||
@@ -142,56 +144,37 @@ uint32_t get_tick_count_in_bins(binnum_t bincount)
|
||||
return all_ticks;
|
||||
}
|
||||
|
||||
void rad_get_reading(struct rad_results *out)
|
||||
{
|
||||
if (!out) { return; }
|
||||
|
||||
uint16_t rad_get_cpm() {
|
||||
// bins take 1 second
|
||||
const float count = (float) get_tick_count_in_bins(num_observed_bins);
|
||||
const float cpm = (count / (float) num_observed_bins) * 60.0f;
|
||||
|
||||
out->cpm_x10 = (uint32_t) roundf(cpm * 10.0f);
|
||||
float count = get_tick_count_in_bins(num_observed_bins);
|
||||
float cpm = (count / (float)num_observed_bins) * 60.0f;
|
||||
return (uint16_t) roundf(cpm * 10.0f);
|
||||
}
|
||||
|
||||
uint16_t rad_get_usvh(uint8_t *out_decimals) {
|
||||
float count = get_tick_count_in_bins(num_observed_bins);
|
||||
float cpm = (count / (float)num_observed_bins) * 60.0f;
|
||||
|
||||
// https://sites.google.com/site/diygeigercounter/technical/gm-tubes-supported
|
||||
|
||||
const float usvh = (cpm / 153.8f);
|
||||
|
||||
if (usvh < 2.0f) {
|
||||
out->danger_level = RAD_LEVEL_0_SAFE;
|
||||
} else if (usvh < 10.0f) {
|
||||
out->danger_level = RAD_LEVEL_1_ELEVATED;
|
||||
} else if (usvh < 20.0f) {
|
||||
out->danger_level = RAD_LEVEL_2_DANGER;
|
||||
} else if (usvh < 1000.0f) {
|
||||
out->danger_level = RAD_LEVEL_3_HIGH_DANGER;
|
||||
} else {
|
||||
out->danger_level = RAD_LEVEL_4_SEVERE;
|
||||
}
|
||||
|
||||
// // for testing only
|
||||
// if (usvh < 1.0f) {
|
||||
// out->danger_level = RAD_LEVEL_0_SAFE;
|
||||
// } else if (usvh < 3.0f) {
|
||||
// out->danger_level = RAD_LEVEL_1_ELEVATED;
|
||||
// } else if (usvh < 6.0f) {
|
||||
// out->danger_level = RAD_LEVEL_2_DANGER;
|
||||
// } else if (usvh < 9.0f) {
|
||||
// out->danger_level = RAD_LEVEL_3_HIGH_DANGER;
|
||||
// } else {
|
||||
// out->danger_level = RAD_LEVEL_4_SEVERE;
|
||||
// }
|
||||
float usvh = (cpm / 153.8f);
|
||||
|
||||
if (usvh < 99.0f) {
|
||||
out->usvh_decimals = 3;
|
||||
out->usvh_num = (uint32_t) roundf(usvh * 1000.0f);
|
||||
} else if (usvh < 999.0f) {
|
||||
out->usvh_decimals = 2;
|
||||
out->usvh_num = (uint32_t) roundf(usvh * 100.0f);
|
||||
} else if (usvh < 9999.0f) {
|
||||
out->usvh_decimals = 1;
|
||||
out->usvh_num = (uint32_t) roundf(usvh * 10.0f);
|
||||
} else {
|
||||
out->usvh_decimals = 0;
|
||||
out->usvh_num = (uint32_t) roundf(usvh);
|
||||
*out_decimals = 3;
|
||||
return (uint16_t) roundf(usvh * 1000.0f);
|
||||
}
|
||||
|
||||
if (usvh < 999.0f) {
|
||||
*out_decimals = 2;
|
||||
return (uint16_t) roundf(usvh * 100.0f);
|
||||
}
|
||||
|
||||
if (usvh < 9999.0f) {
|
||||
*out_decimals = 1;
|
||||
return (uint16_t) roundf(usvh * 10.0f);
|
||||
}
|
||||
|
||||
*out_decimals = 0;
|
||||
return (uint16_t) roundf(usvh);
|
||||
}
|
||||
|
||||
+4
-31
@@ -8,41 +8,14 @@
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
/// Init the radiation measuring subsystem
|
||||
void init_radiation();
|
||||
|
||||
/// Get progress 0-100, 100 = normal radiation reading resumed.
|
||||
/// We need some number of ticks after boot so the averaging results
|
||||
/// are somewhat accurate.
|
||||
/// get progress 0-100, 100 = normal radiation resumed
|
||||
uint8_t rad_get_progress();
|
||||
|
||||
enum rad_danger {
|
||||
// 0-2 uSv
|
||||
RAD_LEVEL_0_SAFE = 0,
|
||||
// 2-15 uSv
|
||||
RAD_LEVEL_1_ELEVATED,
|
||||
// 10-20 uSv
|
||||
RAD_LEVEL_2_DANGER,
|
||||
// 20-1000 uSv
|
||||
RAD_LEVEL_3_HIGH_DANGER,
|
||||
// 1000+ uSv ("evacuate immediately")
|
||||
RAD_LEVEL_4_SEVERE,
|
||||
|
||||
RAD_LEVEL_MAX,
|
||||
};
|
||||
|
||||
struct rad_results {
|
||||
/// CPM (usvh before conversion), x10 (one decimal place)
|
||||
uint32_t cpm_x10;
|
||||
/// Current radiation dose rate uSv/h, adjusting scaling to fit in 5 digits
|
||||
uint32_t usvh_num;
|
||||
/// The position of the decimal point (places from the right)
|
||||
uint8_t usvh_decimals;
|
||||
/// Danger level enum
|
||||
enum rad_danger danger_level;
|
||||
};
|
||||
|
||||
void rad_get_reading(struct rad_results *out);
|
||||
uint16_t rad_get_cpm();
|
||||
/// Get current radiation dose rate u uSv/h, x10 (one decimal place)
|
||||
uint16_t rad_get_usvh(uint8_t *out_decimals);
|
||||
|
||||
#endif //CPROJ_RADIATION_H
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user