From 7e1906e371832040c0f4bf319ea4cc7a50e97aee Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Mon, 15 Feb 2016 21:03:43 +0100 Subject: added motions of bodies project --- motions/Makefile | 29 +++++++++++++++ motions/motions.c | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 135 insertions(+) create mode 100644 motions/Makefile create mode 100644 motions/motions.c diff --git a/motions/Makefile b/motions/Makefile new file mode 100644 index 0000000..4279bc4 --- /dev/null +++ b/motions/Makefile @@ -0,0 +1,29 @@ +## +## spreadspace avr utils +## +## +## Copyright (C) 2016 Christian Pointner +## +## This file is part of spreadspace avr utils. +## +## spreadspace avr utils is free software: you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation, either version 3 of the License, or +## any later version. +## +## spreadspace avr utils is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with spreadspace avr utils. If not, see . +## + +NAME := motions +BOARD_TYPE := arduinoNano +OBJ := $(NAME).o +LIBS := util led +SPREADAVR_PATH := ../contrib/avr-utils + +include $(SPREADAVR_PATH)/include.mk diff --git a/motions/motions.c b/motions/motions.c new file mode 100644 index 0000000..cfb51de --- /dev/null +++ b/motions/motions.c @@ -0,0 +1,106 @@ +/* + * spreadspace avr utils + * + * + * Copyright (C) 2013-2015 Christian Pointner + * + * This file is part of spreadspace avr utils. + * + * spreadspace avr utils is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * any later version. + * + * spreadspace avr utils is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with spreadspace avr utils. If not, see . + */ + + +#include +#include +#include +#include +#include + +#include "util.h" +#include "led.h" + +#include "util/delay.h" + +#define PWM_VAL OCR1BL + +void pwm_init(void) +{ + DDRB |= (1< 0) + PWM_VAL--; +} + +/* void handle_cmd(uint8_t cmd) */ +/* { */ +/* switch(cmd) { */ +/* case '0': led_off(); printf("ok\r\n"); break; */ +/* case '1': led_on(); printf("ok\r\n"); break; */ +/* case '+': pwm_inc(); printf("pwm = %d\r\n", PWM_VAL); break; */ +/* case '-': pwm_dec(); printf("pwm = %d\r\n", PWM_VAL); break; */ +/* case 'r': reset2bootloader(); break; */ +/* default: printf("error\r\n"); return; */ +/* } */ + +/* } */ + +int main(void) +{ + MCUSR &= ~(1 << WDRF); + wdt_disable(); + + cpu_init(); + + led_init(); + pwm_init(); + sei(); + + led_off(); + for(;;) { + _delay_ms(100); + led_toggle(); + _delay_ms(900); + led_toggle(); + /* int16_t BytesReceived = usbio_bytes_received(); */ + /* while(BytesReceived > 0) { */ + /* int ReceivedByte = fgetc(stdin); */ + /* if(ReceivedByte != EOF) { */ + /* handle_cmd(ReceivedByte); */ + /* } */ + /* BytesReceived--; */ + /* } */ + + /* adc_task(); */ + /* usbio_task(); */ + } +} -- cgit v1.2.3