From: Jan Michel Date: Fri, 17 Apr 2026 15:55:41 +0000 (+0200) Subject: add step motor controller files and docu X-Git-Url: https://jspc29.x-matter.uni-frankfurt.de/git/?a=commitdiff_plain;h=a0351b6485ed66532a2efa6b8850f93fa5447818;p=avr.git add step motor controller files and docu --- diff --git a/atmega32u4/stepmotorcontroller/Keyboard.odt b/atmega32u4/stepmotorcontroller/Keyboard.odt new file mode 100644 index 0000000..f9c6d5c Binary files /dev/null and b/atmega32u4/stepmotorcontroller/Keyboard.odt differ diff --git a/atmega32u4/stepmotorcontroller/Makefile b/atmega32u4/stepmotorcontroller/Makefile index 8ee15d8..88b8034 100644 --- a/atmega32u4/stepmotorcontroller/Makefile +++ b/atmega32u4/stepmotorcontroller/Makefile @@ -8,7 +8,8 @@ MCU = atmega32u4 FORMAT = ihex TARGET = main -SRC = $(TARGET).c usb_serial.c +SRC = $(TARGET).c usb_serial.c lcdlib/lcd-color-graphic.c lcdlib/font.c \ + lcdlib/Fonts/digits_24px.c lcdlib/Fonts/digits_32px.c lcdlib/Fonts/font_proportional_16px.c lcdlib/Fonts/font_fixed_16px.c lcdlib/Fonts/font_proportional_8px.c lcdlib/Fonts/symbols_16px.c ASRC = OPT = 2 PORT=/dev/ttyACM0 @@ -37,7 +38,7 @@ CINCS = CDEBUG = -g$(DEBUG) CWARN = -Wall -Wstrict-prototypes -CTUNING = -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wl,--relax +CTUNING = -fcommon -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wl,--relax #CEXTRA = -Wa,-adhlns=$(<:.c=.lst) CFLAGS = $(CDEBUG) $(CDEFS) $(CINCS) -O$(OPT) $(CWARN) $(CSTANDARD) $(CEXTRA) $(CTUNING) -DSTR_SERIAL_NUMBER=L\"$(NUMBER)\" diff --git a/atmega32u4/stepmotorcontroller/lcdlib/Fonts/digits_32px.c b/atmega32u4/stepmotorcontroller/lcdlib/Fonts/digits_32px.c index b7a3d1b..211fdf6 100644 --- a/atmega32u4/stepmotorcontroller/lcdlib/Fonts/digits_32px.c +++ b/atmega32u4/stepmotorcontroller/lcdlib/Fonts/digits_32px.c @@ -18,9 +18,9 @@ const uint8_t digits_32px_data[] PROGMEM = { - 0x1B, 0x00, 0x1B, 0x08, 0x00, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x09, + 0x1A, 0x00, 0x1A, 0x08, 0x00, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x09, - 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, @@ -33,79 +33,79 @@ const uint8_t digits_32px_data[] PROGMEM = { 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x00, - 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, - 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xF8, 0x1F, 0x00, 0x80, 0xFF, 0xFF, 0x01, - 0xE0, 0xFF, 0xFF, 0x07, 0xF0, 0xFF, 0xFF, 0x0F, 0xF8, 0xFF, 0xFF, 0x1F, 0xFC, 0xFF, 0xFF, 0x3F, - 0xFC, 0xFF, 0xFF, 0x3F, 0xFE, 0xFF, 0xFF, 0x7F, 0xFE, 0x03, 0xC0, 0x7F, 0x7F, 0x00, 0x00, 0xFE, - 0x3F, 0x00, 0x00, 0xFC, 0x1F, 0x00, 0x00, 0xF8, 0x1F, 0x00, 0x00, 0xF8, 0x1F, 0x00, 0x00, 0xF8, - 0x3F, 0x00, 0x00, 0xFC, 0x7F, 0x00, 0x00, 0xFE, 0xFE, 0x03, 0xC0, 0x7F, 0xFE, 0xFF, 0xFF, 0x7F, - 0xFC, 0xFF, 0xFF, 0x3F, 0xFC, 0xFF, 0xFF, 0x3F, 0xF8, 0xFF, 0xFF, 0x1F, 0xF0, 0xFF, 0xFF, 0x0F, - 0xE0, 0xFF, 0xFF, 0x07, 0x80, 0xFF, 0xFF, 0x01, 0x00, 0xF8, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xF0, 0x03, 0x00, 0xFC, 0xF0, 0x03, 0x00, 0xFC, 0xF8, 0x01, 0x00, 0xFC, 0xF8, 0x01, 0x00, 0xFC, - 0xFC, 0x00, 0x00, 0xFC, 0xFC, 0x00, 0x00, 0xFC, 0xFC, 0x00, 0x00, 0xFC, 0x7E, 0x00, 0x00, 0xFC, - 0x7E, 0x00, 0x00, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, + 0x00, 0xF8, 0x1F, 0x00, 0x80, 0xFF, 0xFF, 0x01, 0xE0, 0xFF, 0xFF, 0x07, 0xF0, 0xFF, 0xFF, 0x0F, + 0xF8, 0xFF, 0xFF, 0x1F, 0xFC, 0xFF, 0xFF, 0x3F, 0xFC, 0xFF, 0xFF, 0x3F, 0xFE, 0xFF, 0xFF, 0x7F, + 0xFE, 0x03, 0xC0, 0x7F, 0x7F, 0x00, 0x00, 0xFE, 0x3F, 0x00, 0x00, 0xFC, 0x1F, 0x00, 0x00, 0xF8, + 0x1F, 0x00, 0x00, 0xF8, 0x1F, 0x00, 0x00, 0xF8, 0x3F, 0x00, 0x00, 0xFC, 0x7F, 0x00, 0x00, 0xFE, + 0xFE, 0x03, 0xC0, 0x7F, 0xFE, 0xFF, 0xFF, 0x7F, 0xFC, 0xFF, 0xFF, 0x3F, 0xFC, 0xFF, 0xFF, 0x3F, + 0xF8, 0xFF, 0xFF, 0x1F, 0xF0, 0xFF, 0xFF, 0x0F, 0xE0, 0xFF, 0xFF, 0x07, 0x80, 0xFF, 0xFF, 0x01, + 0x00, 0xF8, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0x00, 0xFC, 0xF0, 0x03, 0x00, 0xFC, + 0xF8, 0x01, 0x00, 0xFC, 0xF8, 0x01, 0x00, 0xFC, 0xFC, 0x00, 0x00, 0xFC, 0xFC, 0x00, 0x00, 0xFC, + 0xFC, 0x00, 0x00, 0xFC, 0x7E, 0x00, 0x00, 0xFC, 0x7E, 0x00, 0x00, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, - 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, + 0xFE, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, - 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x01, 0x00, 0xF8, 0xFC, 0x01, 0x00, 0xFC, - 0xFC, 0x00, 0x00, 0xFE, 0x7E, 0x00, 0x00, 0xFF, 0x7E, 0x00, 0x80, 0xFF, 0x3E, 0x00, 0xC0, 0xFF, - 0x3E, 0x00, 0xE0, 0xFF, 0x1F, 0x00, 0xE0, 0xFF, 0x1F, 0x00, 0xF0, 0xFF, 0x1F, 0x00, 0xF8, 0xFF, - 0x1F, 0x00, 0xFC, 0xFF, 0x1F, 0x00, 0xFE, 0xFD, 0x1F, 0x00, 0xFF, 0xFC, 0x3F, 0x80, 0x7F, 0xFC, - 0x3F, 0xC0, 0x3F, 0xFC, 0xFF, 0xE0, 0x3F, 0xFC, 0xFF, 0xFF, 0x1F, 0xFC, 0xFE, 0xFF, 0x0F, 0xFC, - 0xFE, 0xFF, 0x07, 0xFC, 0xFC, 0xFF, 0x03, 0xFC, 0xFC, 0xFF, 0x01, 0xFC, 0xF8, 0xFF, 0x00, 0xFC, - 0xF0, 0x7F, 0x00, 0xFC, 0xC0, 0x1F, 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x7E, 0x7E, 0x00, 0x00, 0x7C, 0x3E, 0x00, 0x00, 0x7C, 0x3E, 0x00, 0x00, 0xFC, - 0x3F, 0x00, 0x00, 0xFC, 0x1F, 0xE0, 0x03, 0xF8, 0x1F, 0xE0, 0x03, 0xF8, 0x1F, 0xE0, 0x03, 0xF8, + 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, + 0xF8, 0x01, 0x00, 0xF8, 0xFC, 0x01, 0x00, 0xFC, 0xFC, 0x00, 0x00, 0xFE, 0x7E, 0x00, 0x00, 0xFF, + 0x7E, 0x00, 0x80, 0xFF, 0x3E, 0x00, 0xC0, 0xFF, 0x3E, 0x00, 0xE0, 0xFF, 0x1F, 0x00, 0xE0, 0xFF, + 0x1F, 0x00, 0xF0, 0xFF, 0x1F, 0x00, 0xF8, 0xFF, 0x1F, 0x00, 0xFC, 0xFF, 0x1F, 0x00, 0xFE, 0xFD, + 0x1F, 0x00, 0xFF, 0xFC, 0x3F, 0x80, 0x7F, 0xFC, 0x3F, 0xC0, 0x3F, 0xFC, 0xFF, 0xE0, 0x3F, 0xFC, + 0xFF, 0xFF, 0x1F, 0xFC, 0xFE, 0xFF, 0x0F, 0xFC, 0xFE, 0xFF, 0x07, 0xFC, 0xFC, 0xFF, 0x03, 0xFC, + 0xFC, 0xFF, 0x01, 0xFC, 0xF8, 0xFF, 0x00, 0xFC, 0xF0, 0x7F, 0x00, 0xFC, 0xC0, 0x1F, 0x00, 0xFC, + 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x7E, 0x00, 0x00, 0x7C, + 0x3E, 0x00, 0x00, 0x7C, 0x3E, 0x00, 0x00, 0xFC, 0x3F, 0x00, 0x00, 0xFC, 0x1F, 0xE0, 0x03, 0xF8, 0x1F, 0xE0, 0x03, 0xF8, 0x1F, 0xE0, 0x03, 0xF8, 0x1F, 0xE0, 0x03, 0xF8, 0x1F, 0xE0, 0x03, 0xF8, - 0x1F, 0xE0, 0x03, 0xF8, 0x3F, 0xF0, 0x03, 0xF8, 0x3F, 0xF0, 0x07, 0xFC, 0x7F, 0xF8, 0x07, 0xFC, - 0xFF, 0xFF, 0x1F, 0x7E, 0xFE, 0xFF, 0xFF, 0x7F, 0xFE, 0xFF, 0xFF, 0x7F, 0xFE, 0xBF, 0xFF, 0x7F, - 0xFC, 0xBF, 0xFF, 0x3F, 0xFC, 0x1F, 0xFF, 0x3F, 0xF8, 0x0F, 0xFE, 0x1F, 0xE0, 0x07, 0xFC, 0x0F, - 0x00, 0x00, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x03, 0x00, 0x00, 0xFE, 0x03, - 0x00, 0x00, 0xFF, 0x03, 0x00, 0xC0, 0xFF, 0x03, 0x00, 0xE0, 0xFF, 0x03, 0x00, 0xF8, 0xF7, 0x03, - 0x00, 0xFC, 0xF3, 0x03, 0x00, 0xFE, 0xF1, 0x03, 0x80, 0x7F, 0xF0, 0x03, 0xC0, 0x3F, 0xF0, 0x03, - 0xF0, 0x0F, 0xF0, 0x03, 0xF8, 0x07, 0xF0, 0x03, 0xFE, 0x03, 0xF0, 0x03, 0xFE, 0x00, 0xF0, 0x03, + 0x1F, 0xE0, 0x03, 0xF8, 0x1F, 0xE0, 0x03, 0xF8, 0x1F, 0xE0, 0x03, 0xF8, 0x3F, 0xF0, 0x03, 0xF8, + 0x3F, 0xF0, 0x07, 0xFC, 0x7F, 0xF8, 0x07, 0xFC, 0xFF, 0xFF, 0x1F, 0x7E, 0xFE, 0xFF, 0xFF, 0x7F, + 0xFE, 0xFF, 0xFF, 0x7F, 0xFE, 0xBF, 0xFF, 0x7F, 0xFC, 0xBF, 0xFF, 0x3F, 0xFC, 0x1F, 0xFF, 0x3F, + 0xF8, 0x0F, 0xFE, 0x1F, 0xE0, 0x07, 0xFC, 0x0F, 0x00, 0x00, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xF8, 0x03, 0x00, 0x00, 0xFE, 0x03, 0x00, 0x00, 0xFF, 0x03, 0x00, 0xC0, 0xFF, 0x03, + 0x00, 0xE0, 0xFF, 0x03, 0x00, 0xF8, 0xF7, 0x03, 0x00, 0xFC, 0xF3, 0x03, 0x00, 0xFE, 0xF1, 0x03, + 0x80, 0x7F, 0xF0, 0x03, 0xC0, 0x3F, 0xF0, 0x03, 0xF0, 0x0F, 0xF0, 0x03, 0xF8, 0x07, 0xF0, 0x03, + 0xFE, 0x03, 0xF0, 0x03, 0xFE, 0x00, 0xF0, 0x03, 0xFE, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, - 0xFE, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xF0, 0x03, - 0x00, 0x00, 0xF0, 0x03, 0x00, 0x00, 0xF0, 0x03, 0x00, 0x00, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x3F, 0xFE, 0xFF, 0x01, 0x7E, 0xFE, 0xFF, 0x00, 0x7E, 0xFE, 0xFF, 0x00, 0x7C, - 0xFE, 0xFF, 0x00, 0x7C, 0xFE, 0x7F, 0x00, 0xFC, 0xFE, 0x7F, 0x00, 0xF8, 0x7E, 0x7C, 0x00, 0xF8, - 0x7E, 0x7C, 0x00, 0xF8, 0x7E, 0x7C, 0x00, 0xF8, 0x7E, 0x7C, 0x00, 0xF8, 0x7E, 0x7C, 0x00, 0xF8, - 0x7E, 0xFC, 0x00, 0xFC, 0x7E, 0xFC, 0x00, 0xFC, 0x7E, 0xFC, 0x01, 0xFE, 0x7E, 0xFC, 0x03, 0x7F, - 0x7E, 0xF8, 0xFF, 0x7F, 0x7E, 0xF8, 0xFF, 0x7F, 0x7E, 0xF0, 0xFF, 0x3F, 0x7E, 0xF0, 0xFF, 0x3F, - 0x7E, 0xE0, 0xFF, 0x1F, 0x7E, 0xC0, 0xFF, 0x0F, 0x7E, 0x80, 0xFF, 0x07, 0x00, 0x00, 0xFE, 0x01, - 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x01, 0xC0, 0xFF, 0xFF, 0x07, - 0xE0, 0xFF, 0xFF, 0x0F, 0xF0, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x3F, 0xFC, 0xFF, 0xFF, 0x7F, - 0xFC, 0xFF, 0xFF, 0x7F, 0xFE, 0xE3, 0xFF, 0x7F, 0xFE, 0xF0, 0x03, 0xFE, 0x7F, 0xF0, 0x01, 0xFC, - 0x3F, 0xF8, 0x00, 0xF8, 0x3F, 0xF8, 0x00, 0xF8, 0x3F, 0xF8, 0x00, 0xF8, 0x1F, 0xF8, 0x00, 0xF8, - 0x1F, 0xF8, 0x00, 0xF8, 0x1F, 0xF8, 0x01, 0xFC, 0x1F, 0xF8, 0x03, 0xFE, 0x1F, 0xF8, 0xFF, 0x7F, - 0x1F, 0xF0, 0xFF, 0x7F, 0x3F, 0xF0, 0xFF, 0x7F, 0x3F, 0xE0, 0xFF, 0x3F, 0x3E, 0xE0, 0xFF, 0x1F, - 0x7E, 0xC0, 0xFF, 0x0F, 0x00, 0x80, 0xFF, 0x07, 0x00, 0x00, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x7E, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, - 0x7E, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0xC0, 0x7E, 0x00, 0x00, 0xF0, 0x7E, 0x00, 0x00, 0xFC, - 0x7E, 0x00, 0x00, 0xFF, 0x7E, 0x00, 0xC0, 0xFF, 0x7E, 0x00, 0xF8, 0xFF, 0x7E, 0x00, 0xFE, 0xFF, - 0x7E, 0x80, 0xFF, 0xFF, 0x7E, 0xE0, 0xFF, 0x3F, 0x7E, 0xF8, 0xFF, 0x0F, 0x7E, 0xFE, 0xFF, 0x03, - 0xFE, 0xFF, 0xFF, 0x00, 0xFE, 0xFF, 0x3F, 0x00, 0xFE, 0xFF, 0x07, 0x00, 0xFE, 0xFF, 0x01, 0x00, - 0xFE, 0x7F, 0x00, 0x00, 0xFE, 0x1F, 0x00, 0x00, 0xFE, 0x07, 0x00, 0x00, 0xFE, 0x01, 0x00, 0x00, - 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0xE0, 0x07, 0xFC, 0x0F, - 0xF8, 0x1F, 0xFE, 0x1F, 0xFC, 0x3F, 0xFE, 0x3F, 0xFC, 0x3F, 0xFF, 0x7F, 0xFE, 0x7F, 0xFF, 0x7F, - 0xFE, 0xFF, 0xFF, 0x7F, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFE, 0x7F, 0xF8, 0x07, 0xFC, - 0x3F, 0xF0, 0x03, 0xF8, 0x1F, 0xE0, 0x03, 0xF8, 0x1F, 0xE0, 0x03, 0xF8, 0x1F, 0xE0, 0x03, 0xF8, - 0x3F, 0xF0, 0x03, 0xF8, 0x7F, 0xF8, 0x07, 0xFC, 0xFF, 0xFF, 0x0F, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, - 0xFE, 0xFF, 0xFF, 0x7F, 0xFE, 0x7F, 0xFF, 0x7F, 0xFC, 0x3F, 0xFF, 0x7F, 0xFC, 0x3F, 0xFE, 0x3F, - 0xF8, 0x1F, 0xFE, 0x1F, 0xE0, 0x07, 0xFC, 0x0F, 0x00, 0x00, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x3F, 0x00, 0x00, 0xE0, 0xFF, 0x01, 0x00, 0xF0, 0xFF, 0x03, 0x7E, 0xF8, 0xFF, 0x07, 0x7C, - 0xFC, 0xFF, 0x07, 0xFC, 0xFE, 0xFF, 0x0F, 0xFC, 0xFE, 0xFF, 0x0F, 0xF8, 0xFE, 0xFF, 0x1F, 0xF8, - 0x7F, 0xC0, 0x1F, 0xF8, 0x3F, 0x80, 0x1F, 0xF8, 0x1F, 0x00, 0x1F, 0xF8, 0x1F, 0x00, 0x1F, 0xF8, - 0x1F, 0x00, 0x1F, 0xFC, 0x1F, 0x00, 0x1F, 0xFC, 0x3F, 0x80, 0x0F, 0xFE, 0x7F, 0xC0, 0x0F, 0x7F, - 0xFE, 0xFF, 0xC7, 0x7F, 0xFE, 0xFF, 0xFF, 0x3F, 0xFE, 0xFF, 0xFF, 0x3F, 0xFC, 0xFF, 0xFF, 0x1F, - 0xF8, 0xFF, 0xFF, 0x0F, 0xF0, 0xFF, 0xFF, 0x07, 0xE0, 0xFF, 0xFF, 0x03, 0x80, 0xFF, 0xFF, 0x00, - 0x00, 0xFC, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x3F, 0xC0, 0x3F, 0xC0, 0x3F, 0xC0, 0x3F, + 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xF0, 0x03, 0x00, 0x00, 0xF0, 0x03, 0x00, 0x00, 0xF0, 0x03, + 0x00, 0x00, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFE, 0xFF, 0x01, 0x7E, + 0xFE, 0xFF, 0x00, 0x7E, 0xFE, 0xFF, 0x00, 0x7C, 0xFE, 0xFF, 0x00, 0x7C, 0xFE, 0x7F, 0x00, 0xFC, + 0xFE, 0x7F, 0x00, 0xF8, 0x7E, 0x7C, 0x00, 0xF8, 0x7E, 0x7C, 0x00, 0xF8, 0x7E, 0x7C, 0x00, 0xF8, + 0x7E, 0x7C, 0x00, 0xF8, 0x7E, 0x7C, 0x00, 0xF8, 0x7E, 0xFC, 0x00, 0xFC, 0x7E, 0xFC, 0x00, 0xFC, + 0x7E, 0xFC, 0x01, 0xFE, 0x7E, 0xFC, 0x03, 0x7F, 0x7E, 0xF8, 0xFF, 0x7F, 0x7E, 0xF8, 0xFF, 0x7F, + 0x7E, 0xF0, 0xFF, 0x3F, 0x7E, 0xF0, 0xFF, 0x3F, 0x7E, 0xE0, 0xFF, 0x1F, 0x7E, 0xC0, 0xFF, 0x0F, + 0x7E, 0x80, 0xFF, 0x07, 0x00, 0x00, 0xFE, 0x01, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0x01, 0xC0, 0xFF, 0xFF, 0x07, 0xE0, 0xFF, 0xFF, 0x0F, 0xF0, 0xFF, 0xFF, 0x1F, + 0xF8, 0xFF, 0xFF, 0x3F, 0xFC, 0xFF, 0xFF, 0x7F, 0xFC, 0xFF, 0xFF, 0x7F, 0xFE, 0xE3, 0xFF, 0x7F, + 0xFE, 0xF0, 0x03, 0xFE, 0x7F, 0xF0, 0x01, 0xFC, 0x3F, 0xF8, 0x00, 0xF8, 0x3F, 0xF8, 0x00, 0xF8, + 0x3F, 0xF8, 0x00, 0xF8, 0x1F, 0xF8, 0x00, 0xF8, 0x1F, 0xF8, 0x00, 0xF8, 0x1F, 0xF8, 0x01, 0xFC, + 0x1F, 0xF8, 0x03, 0xFE, 0x1F, 0xF8, 0xFF, 0x7F, 0x1F, 0xF0, 0xFF, 0x7F, 0x3F, 0xF0, 0xFF, 0x7F, + 0x3F, 0xE0, 0xFF, 0x3F, 0x3E, 0xE0, 0xFF, 0x1F, 0x7E, 0xC0, 0xFF, 0x0F, 0x00, 0x80, 0xFF, 0x07, + 0x00, 0x00, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, + 0x7E, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0xC0, + 0x7E, 0x00, 0x00, 0xF0, 0x7E, 0x00, 0x00, 0xFC, 0x7E, 0x00, 0x00, 0xFF, 0x7E, 0x00, 0xC0, 0xFF, + 0x7E, 0x00, 0xF8, 0xFF, 0x7E, 0x00, 0xFE, 0xFF, 0x7E, 0x80, 0xFF, 0xFF, 0x7E, 0xE0, 0xFF, 0x3F, + 0x7E, 0xF8, 0xFF, 0x0F, 0x7E, 0xFE, 0xFF, 0x03, 0xFE, 0xFF, 0xFF, 0x00, 0xFE, 0xFF, 0x3F, 0x00, + 0xFE, 0xFF, 0x07, 0x00, 0xFE, 0xFF, 0x01, 0x00, 0xFE, 0x7F, 0x00, 0x00, 0xFE, 0x1F, 0x00, 0x00, + 0xFE, 0x07, 0x00, 0x00, 0xFE, 0x01, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xF0, 0x03, 0xE0, 0x07, 0xFC, 0x0F, 0xF8, 0x1F, 0xFE, 0x1F, 0xFC, 0x3F, 0xFE, 0x3F, + 0xFC, 0x3F, 0xFF, 0x7F, 0xFE, 0x7F, 0xFF, 0x7F, 0xFE, 0xFF, 0xFF, 0x7F, 0xFE, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x0F, 0xFE, 0x7F, 0xF8, 0x07, 0xFC, 0x3F, 0xF0, 0x03, 0xF8, 0x1F, 0xE0, 0x03, 0xF8, + 0x1F, 0xE0, 0x03, 0xF8, 0x1F, 0xE0, 0x03, 0xF8, 0x3F, 0xF0, 0x03, 0xF8, 0x7F, 0xF8, 0x07, 0xFC, + 0xFF, 0xFF, 0x0F, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0x7F, 0xFE, 0x7F, 0xFF, 0x7F, + 0xFC, 0x3F, 0xFF, 0x7F, 0xFC, 0x3F, 0xFE, 0x3F, 0xF8, 0x1F, 0xFE, 0x1F, 0xE0, 0x07, 0xFC, 0x0F, + 0x00, 0x00, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3F, 0x00, 0x00, 0xE0, 0xFF, 0x01, 0x00, + 0xF0, 0xFF, 0x03, 0x7E, 0xF8, 0xFF, 0x07, 0x7C, 0xFC, 0xFF, 0x07, 0xFC, 0xFE, 0xFF, 0x0F, 0xFC, + 0xFE, 0xFF, 0x0F, 0xF8, 0xFE, 0xFF, 0x1F, 0xF8, 0x7F, 0xC0, 0x1F, 0xF8, 0x3F, 0x80, 0x1F, 0xF8, + 0x1F, 0x00, 0x1F, 0xF8, 0x1F, 0x00, 0x1F, 0xF8, 0x1F, 0x00, 0x1F, 0xFC, 0x1F, 0x00, 0x1F, 0xFC, + 0x3F, 0x80, 0x0F, 0xFE, 0x7F, 0xC0, 0x0F, 0x7F, 0xFE, 0xFF, 0xC7, 0x7F, 0xFE, 0xFF, 0xFF, 0x3F, + 0xFE, 0xFF, 0xFF, 0x3F, 0xFC, 0xFF, 0xFF, 0x1F, 0xF8, 0xFF, 0xFF, 0x0F, 0xF0, 0xFF, 0xFF, 0x07, + 0xE0, 0xFF, 0xFF, 0x03, 0x80, 0xFF, 0xFF, 0x00, 0x00, 0xFC, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x3F, 0xC0, 0x3F, 0xC0, 0x3F, 0xC0, 0x3F, 0xC0, 0x3F, 0xC0, 0x3F, 0xC0, 0x3F, 0xC0, 0x3F, - 0xC0, 0x3F, 0xC0, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + 0xC0, 0x3F, 0xC0, 0x3F, 0xC0, 0x3F, 0xC0, 0x3F, 0xC0, 0x3F, 0xC0, 0x3F, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00 }; -const struct font_info digits_32px PROGMEM = {0x44+(0x05<<8),0x1C,0x20,0x2B,0x3A,digits_32px_data,(uint8_t*)digits_32px_data+0x3A-0x2B+1}; +const struct font_info digits_32px PROGMEM = {1340,0x1B,0x20,0x2B,0x3A,digits_32px_data,(uint8_t*)digits_32px_data+0x3A-0x2B+1}; #endif diff --git a/atmega32u4/stepmotorcontroller/lcdlib/Fonts/font_fixed_16bit.c b/atmega32u4/stepmotorcontroller/lcdlib/Fonts/font_fixed_16px.c similarity index 100% rename from atmega32u4/stepmotorcontroller/lcdlib/Fonts/font_fixed_16bit.c rename to atmega32u4/stepmotorcontroller/lcdlib/Fonts/font_fixed_16px.c diff --git a/atmega32u4/stepmotorcontroller/lcdlib/font.c b/atmega32u4/stepmotorcontroller/lcdlib/font.c index 78f6f72..fc899e6 100644 --- a/atmega32u4/stepmotorcontroller/lcdlib/font.c +++ b/atmega32u4/stepmotorcontroller/lcdlib/font.c @@ -396,3 +396,21 @@ uint16_t lcd_put_float (float fvalue) { return lcd_put_string(global_font_select, global_font_style, buffer); } #endif + + + +uint16_t lcd_put_long_align32_7 (int32_t integer) { + char buffer[10]; + ltoa(integer, buffer, 10); + + uint8_t j = 0; + while(buffer[j] != 0) j++; + if (j > 7) j = 7; + + uint16_t y = lcd_get_position_page(); + uint16_t x = lcd_get_position_column(); + lcd_set_area_xy(x,x+(7-j)*29-1,y,y+32); + LCD_MOVE_TO(y,x+(7-j)*29); + + return lcd_put_string(global_font_select, global_font_style, buffer); + } diff --git a/atmega32u4/stepmotorcontroller/lcdlib/font.h b/atmega32u4/stepmotorcontroller/lcdlib/font.h index cc83932..3accd91 100644 --- a/atmega32u4/stepmotorcontroller/lcdlib/font.h +++ b/atmega32u4/stepmotorcontroller/lcdlib/font.h @@ -137,6 +137,7 @@ uint16_t lcd_put_long (int32_t integer); uint16_t lcd_put_int (int16_t integer); uint16_t lcd_put_uint (uint16_t integer); uint16_t lcd_put_short(int8_t integer); +uint16_t lcd_put_long_align32_7 (int32_t integer); #endif #if INCLUDE_FLOAT_OUTPUT == 1 uint16_t lcd_put_float (float integer); diff --git a/atmega32u4/stepmotorcontroller/lcdlib/lcd-color-graphic.c b/atmega32u4/stepmotorcontroller/lcdlib/lcd-color-graphic.c index a3b1c52..9538b25 100644 --- a/atmega32u4/stepmotorcontroller/lcdlib/lcd-color-graphic.c +++ b/atmega32u4/stepmotorcontroller/lcdlib/lcd-color-graphic.c @@ -283,4 +283,4 @@ void lcd_draw_line(uint16_t x0, uint16_t x1, uint16_t y0, uint16_t y1) { } } - \ No newline at end of file + diff --git a/atmega32u4/stepmotorcontroller/lcdlib/lcd-color-graphic.h b/atmega32u4/stepmotorcontroller/lcdlib/lcd-color-graphic.h index 3c7e64f..362a1ef 100644 --- a/atmega32u4/stepmotorcontroller/lcdlib/lcd-color-graphic.h +++ b/atmega32u4/stepmotorcontroller/lcdlib/lcd-color-graphic.h @@ -25,7 +25,7 @@ //Reset Port #define PORT_RST PORTB #define DDR_RST DDRB -#define PIN_RST 4 +#define PIN_RST 3 //Chip select #if LCD_USE_CHIPSELECT == 1 @@ -36,8 +36,8 @@ //SPI routines //Define a function that initializes the SPI interface, see below for an example -//extern void init_spi_lcd(void); -#define LCD_INIT_SPI() +extern void init_spi_lcd(void); +#define LCD_INIT_SPI() init_spi_lcd() //init_spi_lcd() //Define a function that waits until SPI interface is idle diff --git a/atmega32u4/stepmotorcontroller/main.c b/atmega32u4/stepmotorcontroller/main.c index 3acdf68..1327f0b 100644 --- a/atmega32u4/stepmotorcontroller/main.c +++ b/atmega32u4/stepmotorcontroller/main.c @@ -15,25 +15,25 @@ void getdata(uint8_t buf); #define FIRMWARE_VERSION 0x001 -#define KP_C1_ON() PORTD |= (1 << PD7) -#define KP_C1_OFF() PORTD &= ~(1 << PD7) -#define KP_C2_ON() PORTC |= (1 << PC6) -#define KP_C2_OFF() PORTC &= ~(1 << PC6) -#define KP_C3_ON() PORTC |= (1 << PC7) -#define KP_C3_OFF() PORTC &= ~(1 << PC7) -#define KP_C4_ON() PORTE |= (1 << PE2) -#define KP_C4_OFF() PORTE &= ~(1 << PE2) - -#define KP_R1() ((PIND & (1< 0) { + if (halfstep) { + if (M1_DIR) { + // DIRECTION_FORWARD_M1(); + if (M1_SWITCH_HIGH) + M1_STEPS = 0; + } + else { + // DIRECTION_BACKWARD_M1(); + if (M1_SWITCH_LOW) + M1_STEPS = 0; + } + // if (!motor_active) M1_STEPS = 0; + if (M1_STEPS > 0) { + M1_STEPS--; + M1_position += 2*M1_DIR-1; + PULSE_HIGH_M1(); + } + } + else { + PULSE_LOW_M1(); + } + // } + + // if (M2_STEPS > 0) { + if (halfstep) { + if (M2_DIR) { + // DIRECTION_FORWARD_M2(); + if (M2_SWITCH_HIGH) + M2_STEPS = 0; + } + else { + // DIRECTION_BACKWARD_M2(); + if (M2_SWITCH_LOW) + M2_STEPS = 0; + } + // if (!motor_active) M2_STEPS = 0; + if (M2_STEPS > 0) { + M2_STEPS--; + M2_position += 2*M2_DIR-1; + PULSE_HIGH_M2(); + } + } + else { + PULSE_LOW_M2(); + } + // } + + halfstep = 1 - halfstep; +} + ISR(PCINT0_vect) { // interupt for switches - M1_SWITCH_LOW = (PINB & (1<"),32,280); + lcd_putstr_xy_P(PSTR("Sp 4"),48,280); + lcd_set_font(FONT_DIGITS_32,SPACING); + LCD_MOVE_TO(200,46); + lcd_put_long(stepsize); + lcd_set_font(FONT_PROP_16,SPACING); uint16_t lasttime = 0; + for (uint8_t i = 0; i < 16; i++) keypad[i] = 0; + while (1) { - // int n = usb_serial_getchar(); - // if (n >= 0) { - // isMaster = 1; - // //SELECT_MASTER(); - // getdata(n); - // } + int n = usb_serial_getchar(); + if (n >= 0) { + getdata(n); + } if ((time != lasttime)) { if(switch_changed) { - lcd_set_font(font_fixed_16px,SPACING); - uint8_t[6] text; - text[0] = M1_SWITCH_LOW ? '_':'X'; - text[1] = M1_SWITCH_HIGH ? '_':'X'; - text[2] = ' '; - text[3] = M2_SWITCH_LOW ? '_':'X'; - text[4] = M2_SWITCH_HIGH ? '_':'X'; - text[5] = 0; - lcd_putstr_xy(text,32,0); + switch_changed = 0; + lcd_set_font(FONT_PROP_16,SPACING); + lcd_use_foreground(colors[5]); + if(M1_SWITCH_LOW) lcd_putstr_xy_P(PSTR("min"),72,240); + if(M1_SWITCH_HIGH) lcd_putstr_xy_P(PSTR("max"),72,240); + if(M2_SWITCH_LOW) lcd_putstr_xy_P(PSTR("min"),112,240); + if(M2_SWITCH_HIGH) lcd_putstr_xy_P(PSTR("max"),112,240); + if(!M1_SWITCH_LOW && !M1_SWITCH_HIGH) lcd_set_area_xy(240, 280, 72, 88); + if(!M2_SWITCH_LOW && !M2_SWITCH_HIGH) lcd_set_area_xy(240, 280, 112, 128); + lcd_use_foreground(colors[0]); + } + +//ABCD + if(keyupdate) { + keyupdate = 0; + + lcd_set_font(FONT_PROP_16,SPACING); + if(keypad[12] && keypad[12] != 255) { //A + if (motor_active) { + motor_active = 0; + DISABLE_M1(); + DISABLE_M2(); + M1_STEPS = 0; + M2_STEPS = 0; + lcd_use_foreground(colors[5]); + lcd_putstr_xy_P(PSTR("off"),16,280); + lcd_use_foreground(colors[0]); + } + else { + motor_active = 1; + ENABLE_M1(); + ENABLE_M2(); + lcd_use_foreground(colors[3]); + lcd_putstr_xy_P(PSTR("ON "),16,280); + lcd_use_foreground(colors[0]); + } + keypad[12] = 255; + } + if(keypad[13] && keypad[13] != 255) { //B + numlock = 1 - numlock; + if (numlock) { + lcd_set_area_xy(280,320,32,48); + lcd_putstr_xy_P(PSTR("NUM"),32,280); + } + else { + lcd_set_area_xy(280,320,32,48); + lcd_putstr_xy_P(PSTR("<-->"),32,280); + lcd_set_area_xy(240,320,224,240); + inputbuffer = 0; + negativeinput = 0; + } + keypad[13] = 255; } +//Cursor Keys + if(!numlock) { + if(keypad[14] && keypad[14] != 255) { //C + cli(); + M1_position = 0; + M2_position = 0; + sei(); + keypad[14] = 255; + } + if(keypad[15] && keypad[15] != 255) { //D + cli(); + M1_STEPS = 0; + M2_STEPS = 0; + sei(); + keypad[14] = 255; + } + + if(keypad[4]) { //2 + if (keypad[4] < 20 || keypad[4] > 40) { + if(M2_STEPS == 0 && motor_active) { + DIRECTION_FORWARD_M2(); + M2_DIR = 1; + M2_STEPS = stepsize; + } + } + if(keypad[4] < 20) keypad[4] = 20; + if (!(keystate & (1<<4))) keypad[4] = 255; + } + + if(keypad[6]) { //8 + if (keypad[6] < 20 || keypad[6] > 40) { + if(M2_STEPS == 0 && motor_active) { + DIRECTION_BACKWARD_M2(); + M2_DIR = 0; + M2_STEPS = stepsize; + } + } + if(keypad[6] < 20) keypad[6] = 20; + if (!(keystate & (1<<6))) keypad[6] = 255; + } + + if(keypad[1]) { //4 + if (keypad[1] < 20 || keypad[1] > 40) { + if(M1_STEPS == 0 && motor_active) { + DIRECTION_BACKWARD_M1(); + M1_DIR = 0; + M1_STEPS = stepsize; + } + } + if(keypad[1] < 20) keypad[1] = 20; + if (!(keystate & (1<<1))) keypad[1] = 255; + } + + if(keypad[9]) { //6 + if (keypad[9] < 20 || keypad[9] > 40) { + if(M1_STEPS == 0 && motor_active) { + DIRECTION_FORWARD_M1(); + M1_DIR = 1; + M1_STEPS = stepsize; + } + } + if(keypad[9] < 20) keypad[9] = 20; + if (!(keystate & (1<<9))) keypad[9] = 255; + } + inputbuffer = 0; + } +//Number input + else { + if( keypad[0] && keypad[0] != 255) { inputbuffer *= 10; inputbuffer += 1; keypad[0] = 255; } + if( keypad[1] && keypad[1] != 255) { inputbuffer *= 10; inputbuffer += 4; keypad[1] = 255; } + if( keypad[2] && keypad[2] != 255) { inputbuffer *= 10; inputbuffer += 7; keypad[2] = 255; } + if( keypad[4] && keypad[4] != 255) { inputbuffer *= 10; inputbuffer += 2; keypad[4] = 255; } + if( keypad[5] && keypad[5] != 255) { inputbuffer *= 10; inputbuffer += 5; keypad[5] = 255; } + if( keypad[6] && keypad[6] != 255) { inputbuffer *= 10; inputbuffer += 8; keypad[6] = 255; } + if( keypad[7] && keypad[7] != 255) { + if (inputbuffer != 0) {inputbuffer *= 10; inputbuffer += 0; keypad[7] = 255; } + if (inputbuffer == 0) {negativeinput = 1 - negativeinput; keypad[7] = 255;} + } + if( keypad[8] && keypad[8] != 255) { inputbuffer *= 10; inputbuffer += 3; keypad[8] = 255; } + if( keypad[9] && keypad[9] != 255) { inputbuffer *= 10; inputbuffer += 6; keypad[9] = 255; } + if( keypad[10] && keypad[10] != 255) { inputbuffer *= 10; inputbuffer += 9; keypad[10] = 255; } + if( keypad[11] && keypad[11] != 255) { // # + stepsize = inputbuffer; + inputbuffer = 0; negativeinput=0; + if (stepsize > 100000) stepsize = 100000; + keypad[11] = 255; + lcd_set_font(FONT_DIGITS_32,SPACING); + LCD_MOVE_TO(200,16); + lcd_set_area_xy(16,240,200,232); + lcd_put_long_align32_7(stepsize); + lcd_set_font(FONT_PROP_16,SPACING); + } + if(keypad[3] && keypad[3] != 255) { // * + speed = inputbuffer & 0x7; + inputbuffer = 0; negativeinput = 0; + cli(); + OCR1A = speeds[speed]; + TCNT1 = 0; + sei(); + keypad[3] = 255; + lcd_set_font(FONT_PROP_16,SPACING); + lcd_set_area_xy(280,320,48,64); + LCD_MOVE_TO(48,280); + lcd_putstr_P(PSTR("Sp ")); + lcd_put_short(speed); + } + if(keypad[14] && keypad[14] != 255) { //C + if (motor_active) { + cli(); + M1_STEPS = 0; + if (negativeinput) inputbuffer *= -1; + if(M1_position < inputbuffer) { + DIRECTION_FORWARD_M1(); + M1_DIR = 1; + M1_STEPS = inputbuffer-M1_position; + } else { + DIRECTION_BACKWARD_M1(); + M1_DIR = 0; + M1_STEPS = M1_position-inputbuffer; + } + inputbuffer = 0; negativeinput = 0; + sei(); + } + keypad[14] = 255; + } + if(keypad[15] && keypad[15] != 255) { //D + if (motor_active) { + cli(); + M2_STEPS = 0; + if (negativeinput) inputbuffer *= -1; + if(M2_position < inputbuffer) { + DIRECTION_FORWARD_M2(); + M2_DIR = 1; + M2_STEPS = inputbuffer-M2_position; + } else { + DIRECTION_BACKWARD_M2(); + M2_DIR = 0; + M2_STEPS = M2_position-inputbuffer; + } + inputbuffer = 0; negativeinput = 0; + sei(); + } + keypad[15] = 255; + } + if (inputbuffer > 1000000) inputbuffer = 0; + if(inputbuffer != last_inputbuffer) { + lcd_set_font(FONT_PROP_16,SPACING); + lcd_set_area_xy(240,320,224,240); + LCD_MOVE_TO(224,240); + if (negativeinput) lcd_put_long(-inputbuffer); + else lcd_put_long(inputbuffer); + + } + last_inputbuffer = inputbuffer; + } + } + + //output position + if( (time & 0xf) == 0) { + lcd_set_font(FONT_DIGITS_32,SPACING); + // lcd_use_background(topback); + + LCD_MOVE_TO(64,16); + // lcd_set_area_xy(16,180,64,96); + lcd_put_long_align32_7(M1_position); + + LCD_MOVE_TO(104,16); + // lcd_set_area_xy(16,180,104,136); + lcd_put_long_align32_7(M2_position); + + } } diff --git a/atmega32u4/stepmotorcontroller/usb_serial.c b/atmega32u4/stepmotorcontroller/usb_serial.c index 708bc54..46f671d 100644 --- a/atmega32u4/stepmotorcontroller/usb_serial.c +++ b/atmega32u4/stepmotorcontroller/usb_serial.c @@ -43,7 +43,7 @@ // You can change these to give your code its own name. On Windows, // these are only used before an INF file (driver install) is loaded. #define STR_MANUFACTURER L"Xmatter" -#define STR_PRODUCT L"DCDC_Test" +#define STR_PRODUCT L"SMC" // All USB serial devices are supposed to have a serial number // (according to Microsoft). On windows, a new COM port is created