Library for XBus servo (under construction)

Dependents:   mbed_XBus_Test mbed_XBus_MotionTest XBusServoTest ControlYokutan2017_2 ... more

It's pre-opened page. it's still a little bit unstable to use command packet but mostly work. Tested only on KL25Z

暫定版ページです。 まだコマンドパケット使用時に時々不安定になりますが、概ね動作しています。 KL25Z上でのみ、動作確認しています

Revision:
18:75ddf12d93b6
Parent:
17:3ffb2e3e3bec
diff -r 3ffb2e3e3bec -r 75ddf12d93b6 XBusServo.h
--- a/XBusServo.h	Thu Oct 30 05:11:46 2014 +0000
+++ b/XBusServo.h	Wed Nov 05 03:12:27 2014 +0000
@@ -12,7 +12,7 @@
 #define XBusServo_h
 
 #include "mbed.h"
-//#include "MODSERIAL.h"
+
 
 /// standard interval time for XBus servo
 #define kXBusStandardInterval       14              // mSec
@@ -25,6 +25,9 @@
 /// maximum number of XBus servo
 #define kXBusMaxServoNum            50
 
+/// convert ServoID & SubID to real Channel ID
+#define ChannelID(ServoID, SubID)   ((ServoID & 0x3F) | ((SubID << 6) & 0xC0))
+
 
 //! XBus error code
 typedef enum {
@@ -242,7 +245,6 @@
 private:
 #define         kRecieveBufferSize          32
 
-//    MODSERIAL           XBusPort;
     RawSerial           XBusPort;
     DigitalOut          TxSwitch;
     Timeout             TxSwitchTimer;
@@ -255,7 +257,7 @@
     uint8_t*            sendBuffer;      // serial send buffer
     volatile uint8_t*   sendBufferPointer;
     volatile uint8_t    sendLength;
-    uint8_t             recieveBuffer[kRecieveBufferSize];   // serial recieve buffer
+    volatile uint8_t    recieveBuffer[kRecieveBufferSize];   // serial recieve buffer
     volatile int8_t     recieveBufferPointer;
     uint8_t             dirty;           //
     volatile uint8_t    serialCommandBusy; //