Skip to content

Commit 41e3eff

Browse files
committed
update protocol for tinymovr v2.x
1 parent aaefacc commit 41e3eff

36 files changed

Lines changed: 851 additions & 260 deletions

include/tinymovr/can.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,7 @@ class Can_ : Node
2020
void set_rate(uint32_t value);
2121
uint32_t get_id(void);
2222
void set_id(uint32_t value);
23+
bool get_heartbeat(void);
24+
void set_heartbeat(bool value);
2325

2426
};
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/*
2+
* This file was automatically generated using Avlos.
3+
* https://github.com/tinymovr/avlos
4+
*
5+
* Any changes to this file will be overwritten when
6+
* content is regenerated.
7+
*/
8+
9+
#pragma once
10+
11+
#include <helpers.hpp>
12+
13+
class Commutation_sensor_ : Node
14+
{
15+
public:
16+
17+
Commutation_sensor_(uint8_t _can_node_id, send_callback _send_cb, recv_callback _recv_cb, delay_us_callback _delay_us_cb, uint32_t _delay_us_value):
18+
Node(_can_node_id, _send_cb, _recv_cb, _delay_us_cb, _delay_us_value) {};
19+
uint8_t get_connection(void);
20+
void set_connection(uint8_t value);
21+
float get_bandwidth(void);
22+
void set_bandwidth(float value);
23+
int32_t get_raw_angle(void);
24+
float get_position_estimate(void);
25+
float get_velocity_estimate(void);
26+
27+
};

include/tinymovr/external_spi.hpp

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/*
2+
* This file was automatically generated using Avlos.
3+
* https://github.com/tinymovr/avlos
4+
*
5+
* Any changes to this file will be overwritten when
6+
* content is regenerated.
7+
*/
8+
9+
#pragma once
10+
11+
#include <helpers.hpp>
12+
13+
class External_spi_ : Node
14+
{
15+
public:
16+
17+
External_spi_(uint8_t _can_node_id, send_callback _send_cb, recv_callback _recv_cb, delay_us_callback _delay_us_cb, uint32_t _delay_us_value):
18+
Node(_can_node_id, _send_cb, _recv_cb, _delay_us_cb, _delay_us_value) {};
19+
uint8_t get_type(void);
20+
void set_type(uint8_t value);
21+
uint8_t get_rate(void);
22+
void set_rate(uint8_t value);
23+
bool get_calibrated(void);
24+
uint8_t get_errors(void);
25+
26+
};

include/tinymovr/hall.hpp

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/*
2+
* This file was automatically generated using Avlos.
3+
* https://github.com/tinymovr/avlos
4+
*
5+
* Any changes to this file will be overwritten when
6+
* content is regenerated.
7+
*/
8+
9+
#pragma once
10+
11+
#include <helpers.hpp>
12+
13+
class Hall_ : Node
14+
{
15+
public:
16+
17+
Hall_(uint8_t _can_node_id, send_callback _send_cb, recv_callback _recv_cb, delay_us_callback _delay_us_cb, uint32_t _delay_us_value):
18+
Node(_can_node_id, _send_cb, _recv_cb, _delay_us_cb, _delay_us_value) {};
19+
bool get_calibrated(void);
20+
uint8_t get_errors(void);
21+
22+
};

include/tinymovr/helpers.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@
2222
#endif
2323

2424
#define CAN_EP_SIZE (12)
25-
#define CAN_EP_MASK ((1 << CAN_EP_SIZE) - 1)
25+
#define CAN_EP_MASK ((1UL << CAN_EP_SIZE) - 1)
2626
#define CAN_SEQ_SIZE (9)
27-
#define CAN_SEQ_MASK (((1 << CAN_SEQ_SIZE) - 1) << CAN_EP_SIZE)
27+
#define CAN_SEQ_MASK (((1UL << CAN_SEQ_SIZE) - 1) << CAN_EP_SIZE)
2828
#define CAN_DEV_SIZE (8)
29-
#define CAN_DEV_MASK (((1 << CAN_DEV_SIZE) - 1) << (CAN_EP_SIZE + CAN_SEQ_SIZE))
29+
#define CAN_DEV_MASK (((1UL << CAN_DEV_SIZE) - 1) << (CAN_EP_SIZE + CAN_SEQ_SIZE))
3030

3131
typedef void (*send_callback)(uint32_t arbitration_id, uint8_t *data, uint8_t dlc, bool rtr);
3232
typedef bool (*recv_callback)(uint32_t *arbitration_id, uint8_t *data, uint8_t *dlc);
@@ -48,7 +48,7 @@ class Node {
4848
uint8_t _dlc;
4949
uint32_t get_arbitration_id(uint32_t cmd_id)
5050
{
51-
return ((this->can_node_id << (CAN_EP_SIZE + CAN_SEQ_SIZE)) & CAN_DEV_MASK) | (cmd_id & CAN_EP_MASK);
51+
return ((((uint32_t)this->can_node_id) << (CAN_EP_SIZE + CAN_SEQ_SIZE)) & CAN_DEV_MASK) | (cmd_id & CAN_EP_MASK);
5252
}
5353
void send(uint32_t cmd_id, uint8_t *data, uint8_t data_size, bool rtr)
5454
{

include/tinymovr/motor.hpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,6 @@ class Motor_ : Node
2424
void set_pole_pairs(uint8_t value);
2525
uint8_t get_type(void);
2626
void set_type(uint8_t value);
27-
float get_offset(void);
28-
void set_offset(float value);
29-
int8_t get_direction(void);
30-
void set_direction(int8_t value);
3127
bool get_calibrated(void);
3228
float get_I_cal(void);
3329
void set_I_cal(float value);

include/tinymovr/onboard.hpp

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/*
2+
* This file was automatically generated using Avlos.
3+
* https://github.com/tinymovr/avlos
4+
*
5+
* Any changes to this file will be overwritten when
6+
* content is regenerated.
7+
*/
8+
9+
#pragma once
10+
11+
#include <helpers.hpp>
12+
13+
class Onboard_ : Node
14+
{
15+
public:
16+
17+
Onboard_(uint8_t _can_node_id, send_callback _send_cb, recv_callback _recv_cb, delay_us_callback _delay_us_cb, uint32_t _delay_us_value):
18+
Node(_can_node_id, _send_cb, _recv_cb, _delay_us_cb, _delay_us_value) {};
19+
bool get_calibrated(void);
20+
uint8_t get_errors(void);
21+
22+
};
Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,18 @@
1010

1111
#include <helpers.hpp>
1212

13-
class Encoder_ : Node
13+
class Position_sensor_ : Node
1414
{
1515
public:
1616

17-
Encoder_(uint8_t _can_node_id, send_callback _send_cb, recv_callback _recv_cb, delay_us_callback _delay_us_cb, uint32_t _delay_us_value):
17+
Position_sensor_(uint8_t _can_node_id, send_callback _send_cb, recv_callback _recv_cb, delay_us_callback _delay_us_cb, uint32_t _delay_us_value):
1818
Node(_can_node_id, _send_cb, _recv_cb, _delay_us_cb, _delay_us_value) {};
19-
float get_position_estimate(void);
20-
float get_velocity_estimate(void);
21-
uint8_t get_type(void);
22-
void set_type(uint8_t value);
19+
uint8_t get_connection(void);
20+
void set_connection(uint8_t value);
2321
float get_bandwidth(void);
2422
void set_bandwidth(float value);
25-
bool get_calibrated(void);
26-
uint8_t get_errors(void);
23+
int32_t get_raw_angle(void);
24+
float get_position_estimate(void);
25+
float get_velocity_estimate(void);
2726

2827
};

include/tinymovr/scheduler.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ class Scheduler_ : Node
1616

1717
Scheduler_(uint8_t _can_node_id, send_callback _send_cb, recv_callback _recv_cb, delay_us_callback _delay_us_cb, uint32_t _delay_us_value):
1818
Node(_can_node_id, _send_cb, _recv_cb, _delay_us_cb, _delay_us_value) {};
19-
uint8_t get_errors(void);
19+
uint32_t get_load(void);
20+
uint8_t get_warnings(void);
2021

2122
};

include/tinymovr/select.hpp

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/*
2+
* This file was automatically generated using Avlos.
3+
* https://github.com/tinymovr/avlos
4+
*
5+
* Any changes to this file will be overwritten when
6+
* content is regenerated.
7+
*/
8+
9+
#pragma once
10+
11+
#include <helpers.hpp>
12+
#include <position_sensor.hpp>
13+
#include <commutation_sensor.hpp>
14+
15+
class Select_ : Node
16+
{
17+
public:
18+
19+
Select_(uint8_t _can_node_id, send_callback _send_cb, recv_callback _recv_cb, delay_us_callback _delay_us_cb, uint32_t _delay_us_value):
20+
Node(_can_node_id, _send_cb, _recv_cb, _delay_us_cb, _delay_us_value)
21+
, position_sensor(_can_node_id, _send_cb, _recv_cb, _delay_us_cb, _delay_us_value)
22+
, commutation_sensor(_can_node_id, _send_cb, _recv_cb, _delay_us_cb, _delay_us_value) {};
23+
Position_sensor_ position_sensor;
24+
Commutation_sensor_ commutation_sensor;
25+
26+
};

0 commit comments

Comments
 (0)