add blinker debug
This commit is contained in:
parent
6edca8bb82
commit
32f1bd73b4
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
void DRIVE_init(DRIVE* me){
|
void DRIVE_init(DRIVE* me){
|
||||||
me->state = STDR_INIT;
|
me->state = STDR_INIT;
|
||||||
ALIVE_init(&me->myChecker);
|
ALIVE_init(&me->myChecker, 2);
|
||||||
ALIVE_onSetup(&me->myChecker, CM_DRIVE_SETUP, &ALWAYSTRUE);
|
ALIVE_onSetup(&me->myChecker, CM_DRIVE_SETUP, &ALWAYSTRUE);
|
||||||
ALIVE_onWait(&me->myChecker, DRIVE_emitStart, me);
|
ALIVE_onWait(&me->myChecker, DRIVE_emitStart, me);
|
||||||
ALIVE_onDead(&me->myChecker, DRIVE_emitStop, me);
|
ALIVE_onDead(&me->myChecker, DRIVE_emitStop, me);
|
||||||
|
@ -5,24 +5,6 @@
|
|||||||
static Factory theFactory;
|
static Factory theFactory;
|
||||||
|
|
||||||
//all the getters
|
//all the getters
|
||||||
LED* l1() {
|
|
||||||
return &theFactory.l1_;
|
|
||||||
}
|
|
||||||
LED* l2() {
|
|
||||||
return &theFactory.l2_;
|
|
||||||
}
|
|
||||||
LED* l3() {
|
|
||||||
return &theFactory.l3_;
|
|
||||||
}
|
|
||||||
LED* l4() {
|
|
||||||
return &theFactory.l4_;
|
|
||||||
}
|
|
||||||
LED* l5() {
|
|
||||||
return &theFactory.l5_;
|
|
||||||
}
|
|
||||||
LED* l6() {
|
|
||||||
return &theFactory.l6_;
|
|
||||||
}
|
|
||||||
LED* l7() {
|
LED* l7() {
|
||||||
return &theFactory.l7_;
|
return &theFactory.l7_;
|
||||||
}
|
}
|
||||||
@ -30,10 +12,6 @@ LED* l8() {
|
|||||||
return &theFactory.l8_;
|
return &theFactory.l8_;
|
||||||
}
|
}
|
||||||
|
|
||||||
BLINKER* b1() {
|
|
||||||
return &theFactory.b1_;
|
|
||||||
}
|
|
||||||
|
|
||||||
ALIVE* ALcontroller(){
|
ALIVE* ALcontroller(){
|
||||||
return &theFactory.ALcontroller_;
|
return &theFactory.ALcontroller_;
|
||||||
}
|
}
|
||||||
@ -53,36 +31,20 @@ STEERING* steering(){
|
|||||||
|
|
||||||
//initialize all objects
|
//initialize all objects
|
||||||
void Factory_init() {
|
void Factory_init() {
|
||||||
LED_init(l1(), 1);
|
|
||||||
LED_init(l2(), 2);
|
|
||||||
LED_init(l3(), 3);
|
|
||||||
LED_init(l4(), 4);
|
|
||||||
LED_init(l5(), 5);
|
|
||||||
LED_init(l6(), 6);
|
|
||||||
LED_init(l7(), 7);
|
LED_init(l7(), 7);
|
||||||
LED_init(l8(), 8);
|
LED_init(l8(), 8);
|
||||||
|
|
||||||
LED_initHW(l1());
|
|
||||||
LED_initHW(l2());
|
|
||||||
LED_initHW(l3());
|
|
||||||
LED_initHW(l4());
|
|
||||||
LED_initHW(l5());
|
|
||||||
LED_initHW(l6());
|
|
||||||
LED_initHW(l7());
|
LED_initHW(l7());
|
||||||
LED_initHW(l8());
|
LED_initHW(l8());
|
||||||
|
|
||||||
BLINKER_init(b1());
|
|
||||||
|
|
||||||
CAN_init();
|
CAN_init();
|
||||||
CAN_setSender(1);
|
CAN_setSender(1);
|
||||||
LED_off(l1());
|
|
||||||
|
|
||||||
MEM_init();
|
MEM_init();
|
||||||
|
|
||||||
ALIVE_init(ALcontroller());
|
ALIVE_init(ALcontroller(), 6);
|
||||||
ALIVE_setAliveTime(ALcontroller(), KART_CST.CONTROL_ALIVE_TIME);
|
ALIVE_setAliveTime(ALcontroller(), KART_CST.CONTROL_ALIVE_TIME);
|
||||||
|
|
||||||
ALIVE_init(ALjoy());
|
ALIVE_init(ALjoy(), 1);
|
||||||
DRIVE_init(drive());
|
DRIVE_init(drive());
|
||||||
STEERING_init(steering());
|
STEERING_init(steering());
|
||||||
}
|
}
|
||||||
@ -94,19 +56,16 @@ void Factory_build() {
|
|||||||
|
|
||||||
ALIVE_onAlive(ALcontroller(), CM_CONTROLLER_ALIVE, NULL);
|
ALIVE_onAlive(ALcontroller(), CM_CONTROLLER_ALIVE, NULL);
|
||||||
|
|
||||||
//BLINKER_onOn(b1(), LED_on, l6());
|
|
||||||
//BLINKER_onOff(b1(), LED_off, l6());
|
|
||||||
|
|
||||||
ALIVE_onSetup(ALjoy(), CM_JOY_SETUP, NULL);
|
ALIVE_onSetup(ALjoy(), CM_JOY_SETUP, NULL);
|
||||||
ALIVE_setAliveTime(ALjoy(), KART_CST.JOYSTICK_ALIVE_TIME);
|
ALIVE_setAliveTime(ALjoy(), KART_CST.JOYSTICK_ALIVE_TIME);
|
||||||
ALIVE_onBorn(ALjoy(), LED_on, l1());
|
//ALIVE_onBorn(ALjoy(), LED_on, l1());
|
||||||
ALIVE_onDead(ALjoy(), LED_off, l1());
|
//ALIVE_onDead(ALjoy(), LED_off, l1());
|
||||||
|
|
||||||
DRIVE_onRun(drive(), LED_on, l2());
|
//DRIVE_onRun(drive(), LED_on, l2());
|
||||||
DRIVE_onDead(drive(), LED_off, l2());
|
//DRIVE_onDead(drive(), LED_off, l2());
|
||||||
|
|
||||||
STEERING_onRun(steering(), LED_on, l3());
|
//STEERING_onRun(steering(), LED_on, l3());
|
||||||
STEERING_onDead(steering(), LED_off, l3());
|
//STEERING_onDead(steering(), LED_off, l3());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,17 +25,9 @@
|
|||||||
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
LED l1_;
|
|
||||||
LED l2_;
|
|
||||||
LED l3_;
|
|
||||||
LED l4_;
|
|
||||||
LED l5_;
|
|
||||||
LED l6_;
|
|
||||||
LED l7_;
|
LED l7_;
|
||||||
LED l8_;
|
LED l8_;
|
||||||
|
|
||||||
BLINKER b1_;
|
|
||||||
|
|
||||||
ALIVE ALcontroller_;
|
ALIVE ALcontroller_;
|
||||||
ALIVE ALjoy_;
|
ALIVE ALjoy_;
|
||||||
DRIVE drive_;
|
DRIVE drive_;
|
||||||
@ -49,17 +41,9 @@ void Factory_build();
|
|||||||
void Factory_start();
|
void Factory_start();
|
||||||
|
|
||||||
//these are global getters for our objects
|
//these are global getters for our objects
|
||||||
LED* l1();
|
|
||||||
LED* l2();
|
|
||||||
LED* l3();
|
|
||||||
LED* l4();
|
|
||||||
LED* l5();
|
|
||||||
LED* l6();
|
|
||||||
LED* l7();
|
LED* l7();
|
||||||
LED* l8();
|
LED* l8();
|
||||||
|
|
||||||
BLINKER* b1();
|
|
||||||
|
|
||||||
ALIVE* ALcontroller();
|
ALIVE* ALcontroller();
|
||||||
ALIVE* ALjoy();
|
ALIVE* ALjoy();
|
||||||
DRIVE* drive();
|
DRIVE* drive();
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
void STEERING_init(STEERING* me){
|
void STEERING_init(STEERING* me){
|
||||||
me->state = STST_INIT;
|
me->state = STST_INIT;
|
||||||
ALIVE_init(&me->myChecker);
|
ALIVE_init(&me->myChecker, 3);
|
||||||
ALIVE_onSetup(&me->myChecker, CM_STEERING_SETUP, &ALWAYSFALSE);
|
ALIVE_onSetup(&me->myChecker, CM_STEERING_SETUP, &ALWAYSFALSE);
|
||||||
ALIVE_onWait(&me->myChecker, STEERING_emitStart, me);
|
ALIVE_onWait(&me->myChecker, STEERING_emitStart, me);
|
||||||
ALIVE_onDead(&me->myChecker, STEERING_emitStop, me);
|
ALIVE_onDead(&me->myChecker, STEERING_emitStop, me);
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
#include "alive.h"
|
#include "alive.h"
|
||||||
|
|
||||||
void ALIVE_init(ALIVE* me){
|
void ALIVE_init(ALIVE* me, uint8_t led){
|
||||||
me->state = STAL_INIT;
|
me->state = STAL_INIT;
|
||||||
me->isAlive = false;
|
me->isAlive = false;
|
||||||
me->checker = false;
|
me->checker = false;
|
||||||
@ -20,14 +20,23 @@ void ALIVE_init(ALIVE* me){
|
|||||||
me->dead.f = NULL;
|
me->dead.f = NULL;
|
||||||
me->alive.f = NULL;
|
me->alive.f = NULL;
|
||||||
me->break_cb.f = NULL;
|
me->break_cb.f = NULL;
|
||||||
|
LED_init(&me->debugLed, led);
|
||||||
|
LED_initHW(&me->debugLed);
|
||||||
|
BLINKER_init(&me->debugBlinker);
|
||||||
|
BLINKER_setTimeOn(&me->debugBlinker, 50);
|
||||||
|
BLINKER_setTimeOff(&me->debugBlinker, 50);
|
||||||
|
BLINKER_onOn(&me->debugBlinker, LED_on, &me->debugLed);
|
||||||
|
BLINKER_onOff(&me->debugBlinker, LED_off, &me->debugLed);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ALIVE_startBehaviourChecker(ALIVE* me){
|
void ALIVE_startBehaviourChecker(ALIVE* me){
|
||||||
POST(me, &ALIVE_processEvent, evALinitChecker, 0, 0);
|
BLINKER_startBehaviour(&me->debugBlinker);
|
||||||
|
POST(me, &ALIVE_processEvent, evALinitChecker, 10, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ALIVE_startBehaviourSender(ALIVE* me){
|
void ALIVE_startBehaviourSender(ALIVE* me){
|
||||||
POST(me, &ALIVE_processEvent, evALinitSender, 0, 0);
|
BLINKER_startBehaviour(&me->debugBlinker);
|
||||||
|
POST(me, &ALIVE_processEvent, evALinitSender, 10, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ALIVE_processEvent(Event* ev) {
|
bool ALIVE_processEvent(Event* ev) {
|
||||||
@ -39,6 +48,7 @@ bool ALIVE_processEvent(Event* ev) {
|
|||||||
|
|
||||||
switch (me->state) { // onState
|
switch (me->state) { // onState
|
||||||
case STAL_INIT:
|
case STAL_INIT:
|
||||||
|
LED_on(&me->debugLed);
|
||||||
if (ev->id == evALinitChecker) {
|
if (ev->id == evALinitChecker) {
|
||||||
me->state = STAL_SETUP;
|
me->state = STAL_SETUP;
|
||||||
}
|
}
|
||||||
@ -125,12 +135,14 @@ bool ALIVE_processEvent(Event* ev) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case STAL_WAIT:
|
case STAL_WAIT:
|
||||||
|
BLINKER_endBlink(&me->debugBlinker);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case STAL_DEAD:
|
case STAL_DEAD:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case STAL_ALIVE:
|
case STAL_ALIVE:
|
||||||
|
BLINKER_endBlink(&me->debugBlinker);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case STAL_BREAK:
|
case STAL_BREAK:
|
||||||
@ -155,6 +167,8 @@ bool ALIVE_processEvent(Event* ev) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case STAL_WAIT:
|
case STAL_WAIT:
|
||||||
|
LED_off(&me->debugLed);
|
||||||
|
BLINKER_emitBlink(&me->debugBlinker, 0);
|
||||||
if (me->wait.f != NULL) {
|
if (me->wait.f != NULL) {
|
||||||
me->wait.f(me->wait.p);
|
me->wait.f(me->wait.p);
|
||||||
}
|
}
|
||||||
@ -167,6 +181,8 @@ bool ALIVE_processEvent(Event* ev) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case STAL_ALIVE:
|
case STAL_ALIVE:
|
||||||
|
LED_off(&me->debugLed);
|
||||||
|
BLINKER_emitBlink(&me->debugBlinker, 0);
|
||||||
me->sender = true;
|
me->sender = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -8,6 +8,8 @@
|
|||||||
#define ALIVE_H
|
#define ALIVE_H
|
||||||
|
|
||||||
#include "../xf/xf.h"
|
#include "../xf/xf.h"
|
||||||
|
#include "../board/led/led.h"
|
||||||
|
#include "../middleware/blinker.h"
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
STAL_INIT = 20,
|
STAL_INIT = 20,
|
||||||
@ -37,6 +39,8 @@ typedef struct {
|
|||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
ALIVE_STATES state;
|
ALIVE_STATES state;
|
||||||
|
LED debugLed;
|
||||||
|
BLINKER debugBlinker;
|
||||||
bool isAlive;
|
bool isAlive;
|
||||||
bool checker;
|
bool checker;
|
||||||
bool sender;
|
bool sender;
|
||||||
@ -54,7 +58,7 @@ typedef struct {
|
|||||||
* Initialize the ALIVE
|
* Initialize the ALIVE
|
||||||
* @param me the ALIVE itself
|
* @param me the ALIVE itself
|
||||||
*/
|
*/
|
||||||
void ALIVE_init(ALIVE* me);
|
void ALIVE_init(ALIVE* me, uint8_t led);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Start the ALIVE state machine for checker part
|
* Start the ALIVE state machine for checker part
|
||||||
|
Reference in New Issue
Block a user