Librairie pour contrôler un moteur connecté à une contrôleur SDC21XX

Dependencies:   CANopen_Node Roboteq_SDC_serie

Committer:
kkoichy
Date:
Wed Jun 01 15:03:34 2016 +0000
Revision:
0:1c0bc44980e0
V1.0; Created class and basic methods to controll a motor connected to a SDC21XX motor driver

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kkoichy 0:1c0bc44980e0 1 #include "SDC21XX_Motor.h"
kkoichy 0:1c0bc44980e0 2
kkoichy 0:1c0bc44980e0 3
kkoichy 0:1c0bc44980e0 4 namespace mbed {
kkoichy 0:1c0bc44980e0 5
kkoichy 0:1c0bc44980e0 6 SDC21XX_Motor::SDC21XX_Motor(uint8_t _node_id, CAN * _can, uint8_t _channel, uint32_t _reductor): channel(_channel), reductor(_reductor), RB(_node_id, _can)
kkoichy 0:1c0bc44980e0 7 {
kkoichy 0:1c0bc44980e0 8
kkoichy 0:1c0bc44980e0 9 }
kkoichy 0:1c0bc44980e0 10 void SDC21XX_Motor::GoAngle(int16_t _angle)
kkoichy 0:1c0bc44980e0 11 {
kkoichy 0:1c0bc44980e0 12 RB.SetPosition(_angle*1024/360*reductor, channel);
kkoichy 0:1c0bc44980e0 13 }
kkoichy 0:1c0bc44980e0 14
kkoichy 0:1c0bc44980e0 15 int16_t SDC21XX_Motor::GetAngle()
kkoichy 0:1c0bc44980e0 16 {
kkoichy 0:1c0bc44980e0 17 return RB.ReadAbsoluteEncoderCount(channel);
kkoichy 0:1c0bc44980e0 18 }
kkoichy 0:1c0bc44980e0 19
kkoichy 0:1c0bc44980e0 20 void SDC21XX_Motor::SetChannel(uint8_t _channel)
kkoichy 0:1c0bc44980e0 21 {
kkoichy 0:1c0bc44980e0 22 channel = _channel;
kkoichy 0:1c0bc44980e0 23 }
kkoichy 0:1c0bc44980e0 24
kkoichy 0:1c0bc44980e0 25 uint8_t SDC21XX_Motor::GetChannel(void)
kkoichy 0:1c0bc44980e0 26 {
kkoichy 0:1c0bc44980e0 27 return channel;
kkoichy 0:1c0bc44980e0 28 }
kkoichy 0:1c0bc44980e0 29
kkoichy 0:1c0bc44980e0 30 void SDC21XX_Motor::SetReductor(uint32_t _reductor)
kkoichy 0:1c0bc44980e0 31 {
kkoichy 0:1c0bc44980e0 32 reductor = _reductor;
kkoichy 0:1c0bc44980e0 33 }
kkoichy 0:1c0bc44980e0 34
kkoichy 0:1c0bc44980e0 35 uint32_t SDC21XX_Motor::GetReductor(void)
kkoichy 0:1c0bc44980e0 36 {
kkoichy 0:1c0bc44980e0 37 return reductor;
kkoichy 0:1c0bc44980e0 38 }
kkoichy 0:1c0bc44980e0 39
kkoichy 0:1c0bc44980e0 40 void SDC21XX_Motor::SetNodeID(uint8_t _node_id)
kkoichy 0:1c0bc44980e0 41 {
kkoichy 0:1c0bc44980e0 42 RB.SetNodeID(_node_id);
kkoichy 0:1c0bc44980e0 43 }
kkoichy 0:1c0bc44980e0 44
kkoichy 0:1c0bc44980e0 45 uint8_t SDC21XX_Motor::GetNodeID(void)
kkoichy 0:1c0bc44980e0 46 {
kkoichy 0:1c0bc44980e0 47 return RB.GetNodeID();
kkoichy 0:1c0bc44980e0 48 }
kkoichy 0:1c0bc44980e0 49
kkoichy 0:1c0bc44980e0 50 void SDC21XX_Motor::SetCan(CAN * _can)
kkoichy 0:1c0bc44980e0 51 {
kkoichy 0:1c0bc44980e0 52 RB.SetCan(_can);
kkoichy 0:1c0bc44980e0 53 }
kkoichy 0:1c0bc44980e0 54
kkoichy 0:1c0bc44980e0 55 CAN* SDC21XX_Motor::GetCan(void)
kkoichy 0:1c0bc44980e0 56 {
kkoichy 0:1c0bc44980e0 57 return RB.GetCan();
kkoichy 0:1c0bc44980e0 58 }
kkoichy 0:1c0bc44980e0 59
kkoichy 0:1c0bc44980e0 60
kkoichy 0:1c0bc44980e0 61 }//end namespace