#include <servo.h>
#include <powswitch.h>
#include <engine.h>
-#include <adc.h>
+#include <adc_filtr.h>
#include <uart_nozen.h>
#include "robobagr.h"
void init_perip(void) // inicializace periferii mikroprocesoru
{
init_servo(SERVO_ISR);
- init_adc(ADC_ISR);
+ init_adc_filter(ADC_ISR);
init_pow_switch();
init_engine_A();
led_blik();
send_adc();
+ start_button();
+ adc_filter(adc_update_adc);
if(time_ms > time_timeout) engine_A_pwm(0);
++error_counter;
if (error_counter > ERROR_CMU_MAX)
{
- send_status(BAGR_STAT_CMU_ERROR);
+ // send_status(BAGR_STAT_CMU_ERROR);
error_counter = 0;
}
#include <adc.h>
#include <uart_nozen.h>
#include "robobagr.h"
+#include <string.h>
+
+#define START_PIN 15
int time_blink;
unsigned int cmu_buff_p = 0;
+
can_msg_t msg;
struct Color color;
+unsigned char star_bt = 0;
+unsigned int time_start = 0;
+
+void start_button(void)
+{
+ if (star_bt > 10)
+ {
+ if ((IO0PIN & (1<<START_PIN))==0) star_bt=0;
+ return;
+ }
+ if (time_start == 0) time_start = time_ms + START_TIME;
+
+ IO0DIR &= ~ (1<<START_PIN);
+
+ if (time_ms > time_start)
+ {
+ time_start = time_ms + START_TIME;
+
+ if (IO0PIN & (1<<START_PIN))
+ {
+ ++star_bt;
+ msg.data[0] = 1;
+ deb_led_off(LEDY);
+ }
+ else
+ {
+ deb_led_on(LEDY);
+ msg.data[0] = 0;
+ }
+
+ msg.id = CAN_ROBOT_CMD;
+ msg.flags = 0;
+ msg.dlc = 1;
+ //msg.data[0] = (~(IO0PIN >> START_PIN)) & 1;
+ while (can_tx_msg(&msg));
+
+
+
+ }
+}
void led_blik()
for( i = 0 ; i < 9; i++){
write_UART_data( UART1, param[i] );
- write_UART_data( UART0, param[i] );
+ // write_UART_data( UART0, param[i] );
}
}
while (UART_new_data(UART1))
{
cmu_buff[cmu_buff_p]= read_UART_data(UART1);
- write_UART_data( UART0, cmu_buff[cmu_buff_p]);
+ // write_UART_data( UART0, cmu_buff[cmu_buff_p]);
if (cmu_buff[cmu_buff_p] == ':')
{
while (UART_new_data(UART1))
{
cmu_buff[cmu_buff_p]= read_UART_data(UART1);
- write_UART_data( UART0, cmu_buff[cmu_buff_p]);
+ //write_UART_data( UART0, cmu_buff[cmu_buff_p]);
if (cmu_buff[cmu_buff_p] == '\r')
{
int i =0;
for ( i = 0; i <= cmu_buff_p ; i++)
{
- write_UART_data( UART0, cmu_buff[i]);
+ //write_UART_data( UART0, cmu_buff[i]);
if (cmu_buff[i] == 'N') { cmu_buff_p = 0; return 2;}
if (cmu_buff[i] == 'A') { cmu_buff_p = 0; return 1;}