Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: SDC21XX_Motor SDC21XX_Motor
Diff: CANopen.cpp
- Revision:
- 0:0f99b1d63054
- Child:
- 1:a5e0bd1f1c93
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/CANopen.cpp Mon May 30 11:28:35 2016 +0000
@@ -0,0 +1,67 @@
+#include "CANopen.h"
+
+
+namespace mbed {
+
+ CANopen::CANopen(short _id, CAN * _can)
+ {
+ can = _can;
+ node_id = _id;
+
+ }
+ CANopen::CANopen(short _id, CAN * _can, int _baud)
+ {
+ can = _can;
+ node_id = _id;
+ can->frequency(_baud);
+
+ }
+ int CANopen::Send_Initiate_SDO_Download(short index, short subindex, long data)
+ {
+ char _data[8];
+ _data[0] = 0x22;
+ _data[1] = index;
+ _data[2] = index >> 8;
+ _data[3] = subindex;
+ _data[4] = data >> 0;
+ _data[5] = data >> 8;
+ _data[6] = data >> 16;
+ _data[7] = data >> 24;
+ return can->write(CANMessage(0x600 + node_id, _data, 8));
+
+ }
+ int32_t CANopen::Send_Initiate_SDO_Upload(short index, short subindex)
+ {
+ CANMessage _message;
+ char _data[8];
+ _data[0] = 0x60;
+ _data[1] = index;
+ _data[2] = index >> 8;
+ _data[3] = subindex;
+ _data[4] = 0;
+ _data[5] = 0;
+ _data[6] = 0;
+ _data[7] = 0;
+ &_message.data = _data;
+ message.len = 8;
+ message.id = 0x600 + node_id;
+ can->write(_message);
+ can->read(&_message);
+ return (_message.data[4] | _message.data[5] << 8 | _message.data[6] << 16 | _message.data[7] << 24);
+
+ }
+ short CANopen::GetNodeID(void)
+ {
+ return node_id;
+
+ }
+ void CANopen::SetNodeID(short _id)
+ {
+ node_id = _id;
+
+ }
+
+
+
+
+}//end namespace
\ No newline at end of file