Project

General

Profile

Revision 5ea63f0d

ID5ea63f0d950a9dca70d33f48d0f0e68a8e28f0d2
Parent eb7af729

Added by unknown about 10 years ago

Working version before truck weekend

View differences:

arduino/RadioBuggyMega/RadioBuggyMega.ino
74 74
}
75 75

  
76 76
int convert_rc_to_steering(int rc_angle) {
77
  int out = (rc_angle/4)+(90*3/4)+39;
78
  if(out < 105 || out > 160) {
77
  //Inverter for 2.4 GHz racecar received
78
  rc_angle = 180-rc_angle;
79
  int out = (rc_angle/4)+(90*3/4)+36;
80
  if(out < 100 || out > 155) {
79 81
    Serial.println("FAKFAKFAK SERVO OUT OF RANGE");
80 82
    Serial.println(out);
81
    out = 129;
83
    out = 125;
82 84
  }
83 85
  return out;
84 86
}
......
109 111
    raw_thr = receiver_get_angle(THR_INDEX);
110 112
    smoothed_thr = filter_loop(&thr_state, raw_thr);
111 113
    // TODO make this code...less...something
112
    if(smoothed_thr < 90) {
114
    if(smoothed_thr < 70) {
113 115
      brake_drop();
114 116
    } else {
115 117
      brake_raise();
arduino/RadioBuggyMega/receiver.c
26 26
#define THR_RECEIVER_PIN 3
27 27
#define THR_RECEIVER_INT 1
28 28

  
29
#define PWM_TIME 21800
29
//For 72 MHz RC reciever
30
//#define PWM_TIME 21800
31
//#define PWM_THRESH 130
32
//#define BIG_PULSE 10
33
//High pulse lasts over 1/10 of period
34
//#define SHORT_PULSE 21
35
//High pulse lasts under 1/21 of period
36

  
37
//For 2.4 GHz racecar reciever
38
#define PWM_TIME 18370
30 39
#define PWM_THRESH 130
40
#define BIG_PULSE 8
41
//High pulse lasts over 1/8 of period
42
#define SHORT_PULSE 19
43
//High pulse lasts under 1/19 of period
31 44

  
32 45
// Defined in receiver.h
33 46
// #define THR_INDEX 0
......
60 73
	  rc_value[AIL_INDEX] = (down_switch_time[AIL_INDEX] - 
61 74
				 up_switch_time[AIL_INDEX]);
62 75
	  rc_available[AIL_INDEX] = 1;
63
          if(rc_value[AIL_INDEX]/(PWM_TIME/10) >= 1 || rc_value[AIL_INDEX]/(PWM_TIME/21) == 0)
76
          if(rc_value[AIL_INDEX]/(PWM_TIME/BIG_PULSE) >= 1 || rc_value[AIL_INDEX]/(PWM_TIME/SHORT_PULSE) == 0)
64 77
            rc_available[AIL_INDEX] == 0;
65 78
      }
66 79
    }

Also available in: Unified diff