mate-driver/firmware/main.c

80 lines
1.2 KiB
C

#include <avr/io.h>
#include <util/delay.h>
#include "pwm.h"
#include "input.h"
int main(void) {
_delay_ms(5000);
hbridge_init();
input_init();
while(1) {
for(uint8_t speed = 50; speed <= 255; speed++) {
for(uint16_t i = 0; i < 1000; i++) {
pwm_cycle_forwards(speed);
}
}
for(uint16_t i = 0; i < 10000; i++) {
pwm_cycle_forwards(255);
}
hbridge_unset_h2();
hbridge_unset_h2();
hbridge_set_l1();
hbridge_set_l2();
_delay_ms(1000);
hbridge_unset_l2();
hbridge_unset_l2();
for(uint8_t speed = 50; speed <= 255; speed++) {
for(uint16_t i = 0; i < 1000; i++) {
pwm_cycle_backwards(speed);
}
}
for(uint16_t i = 0; i < 10000; i++) {
pwm_cycle_forwards(255);
}
hbridge_unset_h2();
hbridge_unset_h2();
hbridge_set_l1();
hbridge_set_l2();
_delay_ms(1000);
hbridge_unset_l2();
hbridge_unset_l2();
/*
for(uint16_t i = 0; i < 5000; i++) {
hbridge_set_h2();
_delay_ms(0.9);
hbridge_unset_h2();
_delay_ms(0.1);
}
hbridge_set_l2();
_delay_ms(100);
hbridge_unset_l1();
for(uint16_t i = 0; i < 5000; i++) {
hbridge_set_h1();
_delay_ms(0.9);
hbridge_unset_h1();
_delay_ms(0.1);
}
*/
}
}