/rust-rtic-stm32

Rust RTIC test on stm32f407

Primary LanguageRust

Сборка

Самый простой способ установки раста на любую операционную систему - через rustup.

Далее необходимо установить соответствующий таргет для сборки под Cortex-M4F:

rustup target add thumbv7em-none-eabihf

Для отладки потребуется probe-rs. И проверка переполнения стека flip-link.

cargo install probe-rs --features cli
cargo install flip-link

Для прошивки достаточно выполнить команду:

cargo embed --release

Для запуска с логированием в консоль:

cargo run --release

Для запуска тестов:

cargo test

Установить драйвер ST-LINK для прошивки и отладки.

Для удобства разработки рекомендуется использовать Visual Studio Code c следующим набором расширений:

code --install-extension \
rust-lang.rust-analyzer \
probe-rs.probe-rs-debugger \
tamasfe.even-better-toml \
serayuzgur.crates

Поддерживаемые команды

Протокол в формате JSON. Каждое сообщение завершается нулевым байтом.

Включение регулярной отправки статистики

Можно отправлять повторно для изменения частоты отправки статистики.

{
    "cmd": 1,
    "delay_time": 1000   // в милисекундах
}

Отключение отправки статистики

{
    "cmd": 0
}

Поворот шагового мотора на заданный угол

{
    "cmd": 2,
    "angle": 32.3  // в градусах
}

Пример отправляемых данных

{
    "gps_data": {
        "latitude": 5546.959,
        "lat_dir": "North",
        "longitude": 3740.692,
        "lon_dir": "East",
        "time": 123035.0
    },
    "quat": {
        "q0": 1,
        "q1": 2,
        "q2": 3,
        "q3": 4
    },
    "motor_data": {
        "motor_state": "Stopped",
        "motor_angle": 60.0
    }
}