From cc44c535e40e4031b6581779e6e56172db808cbc Mon Sep 17 00:00:00 2001 From: Jake <jake.read@cba.mit.edu> Date: Mon, 19 Sep 2022 21:52:46 -0400 Subject: [PATCH] at the minimum viable clank-corexy controller --- firmware/axl-stepper/src/axl | 2 +- firmware/axl-stepper/src/main.cpp | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/firmware/axl-stepper/src/axl b/firmware/axl-stepper/src/axl index 3d62ffa..f49a43e 160000 --- a/firmware/axl-stepper/src/axl +++ b/firmware/axl-stepper/src/axl @@ -1 +1 @@ -Subproject commit 3d62ffa48024d7c43844653dac7199f1bbacc254 +Subproject commit f49a43eb9cc400704cf8e965e71be198aaec5148 diff --git a/firmware/axl-stepper/src/main.cpp b/firmware/axl-stepper/src/main.cpp index ca8e66d..f20e89c 100644 --- a/firmware/axl-stepper/src/main.cpp +++ b/firmware/axl-stepper/src/main.cpp @@ -54,7 +54,7 @@ Endpoint axlSettingsEP(&osap, "axlSettings", onAXLSettingsData); // -------------------------------------------------------- 3: Axl Modal Requests -EP_ONDATA_RESPONSES onStateRequestData(uint8_t* data, uint16_t len){ +EP_ONDATA_RESPONSES onStateData(uint8_t* data, uint16_t len){ // check for partner-config badness, if(len != AXL_NUM_DOF * 4 + 2){ OSAP::error("state req has bad DOF count"); return EP_ONDATA_REJECT; } // we have accel, rate, posn data, @@ -99,7 +99,17 @@ EP_ONDATA_RESPONSES onStateRequestData(uint8_t* data, uint16_t len){ return EP_ONDATA_REJECT; } -Endpoint stateRequestsEP(&osap, "stateRequests", onStateRequestData); +uint8_t stateDataDummy[256]; + +boolean beforeAxlStateQuery(void); + +Endpoint stateEP(&osap, "axlState", onStateData, beforeAxlStateQuery); + +boolean beforeAxlStateQuery(void){ + uint16_t len = axl_getState(stateDataDummy); + stateEP.write(stateDataDummy, len); + return true; +} // -------------------------------------------------------- 4: Axl Queue Addition -- GitLab