Add setup for angle using SimpleFOC
This commit is contained in:
parent
9c9b182705
commit
317a4c48ea
2 changed files with 11 additions and 10 deletions
|
@ -139,6 +139,7 @@ void send_can_with_id_crc(uint32_t id, uint8_t message_type, const void* data, s
|
||||||
|
|
||||||
// Отправка
|
// Отправка
|
||||||
Can.write(msg);
|
Can.write(msg);
|
||||||
|
__NOP();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -215,17 +216,13 @@ void send_motor_torque() {
|
||||||
|
|
||||||
void setup_id(uint8_t my_id) {
|
void setup_id(uint8_t my_id) {
|
||||||
write_param(addr_id,my_id);
|
write_param(addr_id,my_id);
|
||||||
send_id();
|
// send_id();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setup_angle(int target_angle_rad) {
|
||||||
|
float target_angle = target_angle_rad / 100.0f; // Предполагаем, что передается в значениях сотых градуса или сотые радианы
|
||||||
void send_data() {
|
motor.controller = MotionControlType::angle;
|
||||||
// send_velocity();
|
motor.move(target_angle);
|
||||||
// send_angle();
|
|
||||||
// send_motor_enabled();
|
|
||||||
// read_temperature();
|
|
||||||
// GPIOC->ODR ^= GPIO_ODR_OD11;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void listen_can(const CAN_message_t &msg) {
|
void listen_can(const CAN_message_t &msg) {
|
||||||
|
@ -275,6 +272,10 @@ void listen_can(const CAN_message_t &msg) {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case MOTOR_ANGLE:
|
||||||
|
setup_angle(msg.buf[1]);
|
||||||
|
break;
|
||||||
|
|
||||||
case MOTOR_ENABLED:
|
case MOTOR_ENABLED:
|
||||||
if (msg.buf[1] == 1) {
|
if (msg.buf[1] == 1) {
|
||||||
motor.enable();
|
motor.enable();
|
||||||
|
|
|
@ -75,7 +75,7 @@ send_can_message(bus, (OLD_DEVICE_ID << 4) | REG_WRITE, packet_write)
|
||||||
|
|
||||||
time.sleep(0.5)
|
time.sleep(0.5)
|
||||||
|
|
||||||
# ======= 2. Запрашиваем текущий ID (используем новй адрес) =======
|
# ======= 2. Запрашиваем текущий ID (используем новы й адрес) =======
|
||||||
|
|
||||||
# Теперь для запроса используем **уже новый id**
|
# Теперь для запроса используем **уже новый id**
|
||||||
NEW_WITH_REG = (NEW_DEVICE_ID << 4) | REG_READ
|
NEW_WITH_REG = (NEW_DEVICE_ID << 4) | REG_READ
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue