Poppin' more cruft out the repo 8)
This commit is contained in:
		
							parent
							
								
									85404e606b
								
							
						
					
					
						commit
						e618aa68cd
					
				
					 8 changed files with 27 additions and 73 deletions
				
			
		| 
						 | 
					@ -19,7 +19,7 @@ HEADERS_LOCAL	=
 | 
				
			||||||
HEADERS_BUILD	= $(HEADERS_LOCAL) \
 | 
					HEADERS_BUILD	= $(HEADERS_LOCAL) \
 | 
				
			||||||
		  $(addprefix $(INCLUDE_PATH)/$(HEADER_SUBDIR)/,$(HEADERS))
 | 
							  $(addprefix $(INCLUDE_PATH)/$(HEADER_SUBDIR)/,$(HEADERS))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
HEADERS		= avr/buffer.h avr/uart.h clock.h command.h link.h
 | 
					HEADERS		= avr/buffer.h avr/uart.h link.h
 | 
				
			||||||
OBJS		= main.o uart.o
 | 
					OBJS		= main.o uart.o
 | 
				
			||||||
 | 
					
 | 
				
			||||||
IMAGE_NAME	= tabby
 | 
					IMAGE_NAME	= tabby
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										52
									
								
								avr/main.c
									
										
									
									
									
								
							
							
						
						
									
										52
									
								
								avr/main.c
									
										
									
									
									
								
							| 
						 | 
					@ -4,10 +4,7 @@
 | 
				
			||||||
#include <avr/interrupt.h>
 | 
					#include <avr/interrupt.h>
 | 
				
			||||||
#include <avr/sleep.h>
 | 
					#include <avr/sleep.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <tabby/clock.h>
 | 
					 | 
				
			||||||
#include <tabby/command.h>
 | 
					 | 
				
			||||||
#include <tabby/printer.h>
 | 
					#include <tabby/printer.h>
 | 
				
			||||||
 | 
					 | 
				
			||||||
#include <tabby/avr/uart.h>
 | 
					#include <tabby/avr/uart.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static volatile tabby_printer_packet header = {
 | 
					static volatile tabby_printer_packet header = {
 | 
				
			||||||
| 
						 | 
					@ -23,93 +20,78 @@ static volatile uint16_t i = 0,
 | 
				
			||||||
 * SPI byte receipt interrupt vector
 | 
					 * SPI byte receipt interrupt vector
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
ISR(SPI_STC_vect) {
 | 
					ISR(SPI_STC_vect) {
 | 
				
			||||||
    uint8_t value = SPDR;
 | 
					    uint8_t in  = SPDR,
 | 
				
			||||||
 | 
					            out = 0x00;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    uart_putchar(value, NULL);
 | 
					    uart_putchar(in, NULL);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    switch (i) {
 | 
					    switch (i) {
 | 
				
			||||||
        case 0: {
 | 
					        case 0: {
 | 
				
			||||||
            if (value == 0x88) {
 | 
					            if (in == 0x88) {
 | 
				
			||||||
                header.data[0] = value;
 | 
					                header.data[0] = in;
 | 
				
			||||||
                i++;
 | 
					                i++;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                b = 0;
 | 
					                b = 0;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            SPDR = 0;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        case 1: {
 | 
					        case 1: {
 | 
				
			||||||
            if (value == 0x33) {
 | 
					            if (in == 0x33) {
 | 
				
			||||||
                header.data[1] = value;
 | 
					                header.data[1] = in;
 | 
				
			||||||
                i++;
 | 
					                i++;
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                i = 0;
 | 
					                i = 0;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            SPDR = 0;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        case 2: {
 | 
					        case 2: {
 | 
				
			||||||
            header.type = value;
 | 
					            header.type = in;
 | 
				
			||||||
            i++;
 | 
					            i++;
 | 
				
			||||||
            SPDR = 0;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        case 3: {
 | 
					        case 3: {
 | 
				
			||||||
            header.compression = value;
 | 
					            header.compression = in;
 | 
				
			||||||
            i++;
 | 
					            i++;
 | 
				
			||||||
            SPDR = 0;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        case 4: {
 | 
					        case 4: {
 | 
				
			||||||
            header.size = value;
 | 
					            header.size = in;
 | 
				
			||||||
            i++;
 | 
					            i++;
 | 
				
			||||||
            SPDR = 0;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        case 5: {
 | 
					        case 5: {
 | 
				
			||||||
            header.size |= value << 8;
 | 
					            header.size |= in << 8;
 | 
				
			||||||
            i++;
 | 
					            i++;
 | 
				
			||||||
            SPDR = 0;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        default: {
 | 
					        default: {
 | 
				
			||||||
            if (b < header.size) {
 | 
					            if (b <= header.size) {
 | 
				
			||||||
                b++;
 | 
					                b++;
 | 
				
			||||||
 | 
					 | 
				
			||||||
                SPDR = 0;
 | 
					 | 
				
			||||||
            } else if (b == header.size) {
 | 
					 | 
				
			||||||
                b++;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                SPDR = 0;
 | 
					 | 
				
			||||||
            } else if (b == header.size + 1) {
 | 
					            } else if (b == header.size + 1) {
 | 
				
			||||||
                b++;
 | 
					                b++;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                SPDR = 0x81;
 | 
					                out = 0x81;
 | 
				
			||||||
            } else if (b == header.size + 2) {
 | 
					            } else if (b == header.size + 2) {
 | 
				
			||||||
                b++;
 | 
					                b++;
 | 
				
			||||||
 | 
					 | 
				
			||||||
                SPDR = 0;
 | 
					 | 
				
			||||||
            } else if (b == header.size + 3) {
 | 
					            } else if (b == header.size + 3) {
 | 
				
			||||||
                i = 0;
 | 
					                i = 0;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                SPDR = 0;
 | 
					    SPDR = out;
 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void setup_clock_external() {
 | 
					static void setup_clock_external() {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,8 +1,9 @@
 | 
				
			||||||
#include <stdio.h>
 | 
					#include <stdio.h>
 | 
				
			||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
 | 
					#include <string.h>
 | 
				
			||||||
#include <stdint.h>
 | 
					#include <stdint.h>
 | 
				
			||||||
#include <stdarg.h>
 | 
					#include <stdarg.h>
 | 
				
			||||||
#include <string.h>
 | 
					#include <unistd.h>
 | 
				
			||||||
#include <errno.h>
 | 
					#include <errno.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <tabby/link.h>
 | 
					#include <tabby/link.h>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,16 +0,0 @@
 | 
				
			||||||
#ifndef _TABBY_CLOCK_H
 | 
					 | 
				
			||||||
#define _TABBY_CLOCK_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
typedef enum {
 | 
					 | 
				
			||||||
    TABBY_CLOCK_SOURCE_INTERNAL = 0x01,
 | 
					 | 
				
			||||||
    TABBY_CLOCK_SOURCE_EXTERNAL = 0x02
 | 
					 | 
				
			||||||
} tabby_clock_source;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
typedef enum {
 | 
					 | 
				
			||||||
    TABBY_CLOCK_SPEED_8192HZ   = 0x01,
 | 
					 | 
				
			||||||
    TABBY_CLOCK_SPEED_16384HZ  = 0x02,
 | 
					 | 
				
			||||||
    TABBY_CLOCK_SPEED_262144HZ = 0x03,
 | 
					 | 
				
			||||||
    TABBY_CLOCK_SPEED_524288HZ = 0x04
 | 
					 | 
				
			||||||
} tabby_clock_speed;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif /* _TABBY_CLOCK_H */
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,11 +0,0 @@
 | 
				
			||||||
#ifndef _TABBY_COMMAND_H
 | 
					 | 
				
			||||||
#define _TABBY_COMMAND_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
typedef enum {
 | 
					 | 
				
			||||||
    TABBY_COMMAND_NONE         = 0x00,
 | 
					 | 
				
			||||||
    TABBY_COMMAND_SEND         = 0x01,
 | 
					 | 
				
			||||||
    TABBY_COMMAND_CLOCK_SOURCE = 0x02,
 | 
					 | 
				
			||||||
    TABBY_COMMAND_CLOCK_SPEED  = 0x03
 | 
					 | 
				
			||||||
} tabby_command;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif /* _TABBY_COMMAND_H */
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,16 +1,6 @@
 | 
				
			||||||
#ifndef _TABBY_LINK_H
 | 
					#ifndef _TABBY_LINK_H
 | 
				
			||||||
#define _TABBY_LINK_H
 | 
					#define _TABBY_LINK_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <stdint.h>
 | 
					 | 
				
			||||||
#include <string.h>
 | 
					 | 
				
			||||||
#include <unistd.h>
 | 
					 | 
				
			||||||
#include <fcntl.h>
 | 
					 | 
				
			||||||
#include <termios.h>
 | 
					 | 
				
			||||||
#include <sys/types.h>
 | 
					 | 
				
			||||||
#include <sys/ioctl.h>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include <tabby/clock.h>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define TABBY_LINK_BAUD B57600
 | 
					#define TABBY_LINK_BAUD B57600
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int tabby_link_open(const char *dev);
 | 
					int tabby_link_open(const char *dev);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,11 @@
 | 
				
			||||||
#include <stdio.h>
 | 
					#include <stdio.h>
 | 
				
			||||||
 | 
					#include <unistd.h>
 | 
				
			||||||
 | 
					#include <sys/types.h>
 | 
				
			||||||
 | 
					#include <sys/stat.h>
 | 
				
			||||||
 | 
					#include <fcntl.h>
 | 
				
			||||||
 | 
					#include <termios.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <tabby/link.h>
 | 
					#include <tabby/link.h>
 | 
				
			||||||
#include <tabby/command.h>
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
int tabby_link_open(const char *dev) {
 | 
					int tabby_link_open(const char *dev) {
 | 
				
			||||||
    int fd;
 | 
					    int fd;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,7 @@
 | 
				
			||||||
 | 
					#include <stdint.h>
 | 
				
			||||||
 | 
					#include <string.h>
 | 
				
			||||||
 | 
					#include <sys/types.h>
 | 
				
			||||||
 | 
					#include <unistd.h>
 | 
				
			||||||
#include <errno.h>
 | 
					#include <errno.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <tabby/link.h>
 | 
					#include <tabby/link.h>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue