Files
WB55cgu/README.md

34 lines
2.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# STM32WB55CGU6 Zigbee Master/Slave Keil Project
Проект для STM32WB55CGU6 в Keil MDK на базе официального CubeWB Zigbee-примера.
Основной Keil-файл:
```text
MDK-ARM/Zigbee_OnOff_Server_Coord.uvprojx
```
## Что реализовано
- Глобальная структура `g_app` хранит роль, состояние Zigbee, конфиг сети, кнопки и аналоговый канал.
- Роль можно переключать во время работы через `App_SetRole()` или аппаратный переключатель в `Hardware_ReadRoleSwitchIsMaster()`.
- Режим `slave` читает 3 кнопки и 1 аналоговый канал, фильтрует ADC и отправляет отчет через `ZigbeePort_SendSlaveInputs()`.
- Режим `master` отделен архитектурно: он должен открыть Zigbee-сеть и принимать отчеты slave в `zigbee_port.c`.
- ST `main.c`, `app_entry.c`, startup, scatter, HAL, BSP и `STM32_WPAN` взяты из `STM32Cube_FW_WB_V1.23.0`.
## Следующие аппаратные шаги
1. Проверить, что установлен `STM32Cube_FW_WB_V1.23.0`.
2. Открыть `MDK-ARM/Zigbee_OnOff_Server_Coord.uvprojx`.
3. В `App/hardware.c` назначить реальные пины роли, 3 кнопок и ADC.
4. В `App/zigbee_port.c` заменить текущий адаптер на реальные STM32_WPAN/Zigbee send/receive вызовы.
5. Для STM32WB55CGU6 проверить memory layout и package pinout, потому что ST-база взята от `P-NUCLEO-WB55.Nucleo`.
## Где менять поведение
- `App/app_config.h` - период отправки, endpoint, cluster id, роль по умолчанию.
- `App/app_types.h` - глобальные структуры.
- `App/slave_inputs.c` - debounce кнопок и фильтр ADC.
- `App/zigbee_app.c` - общая логика master/slave.
- `App/zigbee_port.c` - реальные Zigbee вызовы STM32WB.