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