From 5a3b89fc81aec89a2568054731cf83777927602a Mon Sep 17 00:00:00 2001 From: LongHairedHacker Date: Mon, 21 Nov 2016 22:51:26 +0100 Subject: [PATCH] Enabled timeout timer --- software/AVR8/main.c | 53 +++++++++++++------------- software/testutils/generate_timeout.py | 32 ++++++++++++++++ 2 files changed, 59 insertions(+), 26 deletions(-) create mode 100644 software/testutils/generate_timeout.py diff --git a/software/AVR8/main.c b/software/AVR8/main.c index 2ef2ec3..d6c3ecc 100644 --- a/software/AVR8/main.c +++ b/software/AVR8/main.c @@ -4,6 +4,7 @@ #include #include "uart.h" +#include "timer.h" #include "sss7.h" @@ -11,37 +12,37 @@ int main(void) { -uint8_t msg[SSS7_PAYLOAD_SIZE]; -memset(msg, 0, SSS7_PAYLOAD_SIZE); -msg[0] = 'H'; -msg[1] = 'e'; -msg[2] = 'l'; -msg[3] = 'l'; -msg[4] = 'o'; -msg[5] = ' '; -msg[6] = 'W'; -msg[7] = 'o'; -msg[8] = 'r'; -msg[9] = 'l'; -msg[10] = 'd'; + uint8_t msg[SSS7_PAYLOAD_SIZE]; + memset(msg, 0, SSS7_PAYLOAD_SIZE); + msg[0] = 'H'; + msg[1] = 'e'; + msg[2] = 'l'; + msg[3] = 'l'; + msg[4] = 'o'; + msg[5] = ' '; + msg[6] = 'W'; + msg[7] = 'o'; + msg[8] = 'r'; + msg[9] = 'l'; + msg[10] = 'd'; -uart_init(); -sss7_init(); -sei(); + uart_init(); + timer_init(); + sss7_init(); + sei(); -while(1) { + while(1) { - while(!sss7_can_send()); - sss7_send(msg); - while(!sss7_can_send()); - if(sss7_send_failed()) { - PORTB ^= (1 << PB2); + while(!sss7_can_send()); + sss7_send(msg); + while(!sss7_can_send()); + if(sss7_send_failed()) { + PORTB ^= (1 << PB2); + } + + _delay_ms(1000); } - _delay_ms(100); -} - - } diff --git a/software/testutils/generate_timeout.py b/software/testutils/generate_timeout.py new file mode 100644 index 0000000..b8a5634 --- /dev/null +++ b/software/testutils/generate_timeout.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python2 + +import sys +import serial + + +def send_byte(ser, byte): + ser.reset_input_buffer() + ser.write(byte) + read_byte = ser.read() + if read_byte != byte: + print "Written %s read %s" % (hex(ord(byte)), hex(ord(read_byte))) + sys.exit(-1) + + +def main(): + if len(sys.argv) != 2: + print "Usage %s " % (sys.argv[0]) + sys.exit(-1) + + ser = serial.Serial(sys.argv[1], 9600, timeout=0.40) + + send_byte(ser, chr(0xAA)) + send_byte(ser, chr(0xFE)) + + for byte in "Unfinished": + send_byte(ser, byte) + + + +if __name__ == '__main__': + main()