diff --git a/firmware/axl-stepper/src/axl b/firmware/axl-stepper/src/axl
index 3d62ffa48024d7c43844653dac7199f1bbacc254..f49a43eb9cc400704cf8e965e71be198aaec5148 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 ca8e66d52be6b65080829c07dd9fe3a8a464fd25..f20e89c0b9bc471dcccd8b2bff045e2f23754fca 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