Minimal changes related to the behavior of the auxiliary circuit.
This commit is contained in:
parent
1ca6cd6c6d
commit
25ed7efbb7
3 changed files with 14 additions and 10 deletions
|
@ -25,7 +25,7 @@ void update_track( track_t* tck, car_t* car ) {
|
|||
|
||||
if ( car->trackID == TRACK_MAIN
|
||||
&& (int)car->dist % cfg->nled_main == cfg->init_aux
|
||||
&& get_controllerStatus( ct ) != 0 ) {
|
||||
&& get_controllerStatus( ct ) == 0 ) {
|
||||
|
||||
car->trackID = TRACK_AUX;
|
||||
car->dist_aux = 0;
|
||||
|
@ -42,7 +42,7 @@ void update_track( track_t* tck, car_t* car ) {
|
|||
else if ( car->trackID == TRACK_MAIN ) process_main_track( tck, car );
|
||||
|
||||
/* Update car lap */
|
||||
if ( car->dist > cfg->nled_main*car->nlap ) car->nlap++;
|
||||
if ( car->dist > ( cfg->nled_main*car->nlap -1) ) car->nlap++;
|
||||
}
|
||||
|
||||
void process_aux_track( track_t* tck, car_t* car ){
|
||||
|
@ -52,7 +52,7 @@ void process_aux_track( track_t* tck, car_t* car ){
|
|||
&& car->speed <= get_accel() ) {
|
||||
|
||||
car->speed = get_accel ()*10;
|
||||
tck->ledcoin = -1;
|
||||
tck->ledcoin = COIN_RESET;
|
||||
};
|
||||
|
||||
car->speed -= car->speed * cfg->kf;
|
||||
|
|
|
@ -13,6 +13,11 @@ extern "C"{
|
|||
#include "olr-controller.h"
|
||||
#include "olr-param.h"
|
||||
|
||||
enum stcoin{
|
||||
COIN_RESET = -2,
|
||||
COIN_WAIT = -1,
|
||||
};
|
||||
|
||||
enum{
|
||||
NOT_TRACK = 0,
|
||||
TRACK_MAIN,
|
||||
|
@ -22,7 +27,6 @@ enum{
|
|||
NUM_TRACKS,
|
||||
};
|
||||
|
||||
|
||||
|
||||
enum status{
|
||||
CAR_WAITING = 0,
|
||||
|
|
|
@ -42,6 +42,8 @@ enum{
|
|||
MAX_CARS = 4,
|
||||
};
|
||||
|
||||
|
||||
|
||||
enum loglevel{
|
||||
ECHO = 0,
|
||||
DISABLE = 0,
|
||||
|
@ -143,7 +145,6 @@ void init_track( track_t* tck ){
|
|||
param_load( &tck->cfg );
|
||||
tck->gmap = gravity_map;
|
||||
init_ramp( tck );
|
||||
tck->ledcoin = -1;
|
||||
}
|
||||
|
||||
void setup() {
|
||||
|
@ -205,6 +206,7 @@ void loop() {
|
|||
reset_carPosition( &cars[i] );
|
||||
cars[i].repeats = 0;
|
||||
}
|
||||
tck.ledcoin = COIN_RESET;
|
||||
race.phase = COUNTDOWN;
|
||||
send_phase( race.phase );
|
||||
}
|
||||
|
@ -222,10 +224,9 @@ void loop() {
|
|||
}
|
||||
else if( race.phase == RACING ) {
|
||||
|
||||
strip_clear( &tck );
|
||||
|
||||
if( tck.ledcoin == -1 ) {
|
||||
tck.ledcoin = 0;
|
||||
strip_clear( &tck );
|
||||
if( tck.ledcoin == COIN_RESET ) {
|
||||
tck.ledcoin = COIN_WAIT;
|
||||
tck.ledtime = millis() + random(2000,7000);
|
||||
}
|
||||
|
||||
|
@ -526,7 +527,6 @@ ack_t parseCommands(AsyncSerial &serial) {
|
|||
|
||||
pch = strtok (NULL, ",");
|
||||
if( !pch ) return ack;
|
||||
int none = atoi( pch );
|
||||
|
||||
int err = track_configure( &tck, init_aux );
|
||||
if( err ) return ack;
|
||||
|
|
Loading…
Add table
Reference in a new issue