diff --git a/build.sh b/build.sh index 39ffa23..6835c10 100755 --- a/build.sh +++ b/build.sh @@ -13,7 +13,7 @@ else -DARDUINO=10607 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR \ -I/usr/avr/include \ -I/usr/lib/avr/include \ - ../include/uart.c main.c -o $BUILD/main.elf + ../include/uart.c ../include/rand.c ../include/adc.c main.c -o $BUILD/main.elf avr-objcopy -O ihex -R .eeprom $BUILD/main.elf $BUILD/main.hex diff --git a/include/adc.c b/include/adc.c new file mode 100644 index 0000000..fd8f825 --- /dev/null +++ b/include/adc.c @@ -0,0 +1,18 @@ +#include "adc.h" +#include +#include +#include +#include + +void adc_init() { + //DDRA=0x0; // does not exist but is default? + ADCSRA = (1< +void adc_init(); +uint16_t adc_read(uint8_t channel); diff --git a/include/rand.c b/include/rand.c new file mode 100644 index 0000000..a8159e5 --- /dev/null +++ b/include/rand.c @@ -0,0 +1,13 @@ +int rand() { + static unsigned int seed = 1337191337; + unsigned int buf[] = { + (seed*31832)%677, + (seed*32932)%2332 + }; + seed = buf[1]*223238; + seed *= seed << 4; + seed %= 410829; + seed = buf[0] * 1892823 % 23891; + seed = buf[0]; + return seed; +} diff --git a/include/rand.h b/include/rand.h new file mode 100644 index 0000000..848f93b --- /dev/null +++ b/include/rand.h @@ -0,0 +1,2 @@ +#pragma once +unsigned int rand(void); diff --git a/print/main.c b/print/main.c index 12b0981..13ae8cc 100644 --- a/print/main.c +++ b/print/main.c @@ -4,6 +4,8 @@ #include #include #include "../include/uart.h" +#include "../include/adc.h" +#include "../include/rand.h" #define BAUD 9600 #define MYUBRR F_CPU/16/BAUD-1 @@ -15,14 +17,16 @@ int main (void) sei(); char buf[10]; - int sensor; + int sensor[2]; while (1) { // lets say we read some value from a sensor - sensor = 65; + sensor[0] = adc_read(0); + sensor[1] = adc_read(1); // we want to print this, so we store the ascii repr in our buffer - uart_printi("sensor status: ", sensor); + uart_printi("sensor 0: ", sensor[0]); + uart_printi("sensor 1: ", sensor[1]); _delay_ms(1000); } }