Revision 3a4c95b0

View differences:

devices/DiWheelDrive/DiWheelDrive.cpp
2 2
#include "hal.h"
3 3
#include "qei.h"
4 4
#include "DiWheelDrive.h"
5
// #include <chprintf.h>
6

  
7 5

  
8 6
#include <global.hpp>
9 7

  
......
150 148
    case CAN::POWER_STATUS_ID:
151 149
      if (frame->DLC == 6) {
152 150
        // The power status is evaluated by inherited ControllerAreaNetworkRx object, but depending on the flags the power path controller needs to enabled or disabled.
153

  
154 151
        types::power_status::ChargingState charging_flags;
155 152
        charging_flags.value = frame->data8[0];
156 153
        global.ltc4412.enable(charging_flags.content.diwheeldrive_enable_power_path);
157
        
158 154
        // Do not return with RDY_OK, or the inherited ControllerAreaNetworkRx object would not evaluate the rest of this message.
159 155
      }
160 156
    break;
......
201 197
  this->transmitMessage(&frame);
202 198
}
203 199

  
200
void DiWheelDrive::transmitState(uint8_t state){
201
  CANTxFrame frame;
202
  frame.SID = 0;
203
  this->encodeDeviceId(&frame, CAN::TRANSMIT_LINE_FOLLOW_STATE);
204
  frame.data8[0] = state;
205
  frame.DLC = 1;
206
  this->transmitMessage(&frame);
207
}
208

  
204 209
void DiWheelDrive::periodicBroadcast() {
205 210
  CANTxFrame frame;
206 211
  frame.SID = 0;
......
265 270
  frame.DLC = 6;
266 271
  this->transmitMessage(&frame);
267 272

  
268
  
269

  
270 273
  // Send the board ID (board ID of DiWheelDrive = Robot ID)
271 274
  if (this->bcCounter % 10 == 0) {
272 275
    frame.SID = 0;
devices/DiWheelDrive/DiWheelDrive.h
31 31
    * @param power 0 to disable, 1 to enable
32 32
    */
33 33
    void requestCharging(uint8_t power);
34
    void transmitState(uint8_t state);
34 35

  
35 36
  protected:
36 37
    virtual msg_t receiveMessage(CANRxFrame *frame);
37 38
    virtual msg_t updateSensorVal();
38 39
    virtual void periodicBroadcast();
39 40

  
40
    
41

  
42 41
    void  calibrateProximityFloorValues();
43 42

  
44 43
  private:

Also available in: Unified diff