2021-01-24 15:44:13 -08:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
// For those platforms/methods that support dynamic channel setting
|
2021-07-05 14:36:42 -07:00
|
|
|
//
|
|
|
|
|
// ESP32 - 8 TX channels
|
|
|
|
|
// ESP32S2 - 4 TX channels
|
|
|
|
|
// ESP32C3 - 2 TX channels
|
2022-06-12 13:20:11 -07:00
|
|
|
// ESP32S3 - 4 TX channels
|
2021-07-05 14:36:42 -07:00
|
|
|
// NRF52840 - 3 or 4 channels (some variants only have 3)
|
|
|
|
|
|
2021-01-24 15:44:13 -08:00
|
|
|
enum NeoBusChannel
|
|
|
|
|
{
|
|
|
|
|
NeoBusChannel_0,
|
|
|
|
|
NeoBusChannel_1,
|
2021-07-05 14:36:42 -07:00
|
|
|
|
|
|
|
|
#if !defined(CONFIG_IDF_TARGET_ESP32C3)
|
|
|
|
|
|
2021-01-24 15:44:13 -08:00
|
|
|
NeoBusChannel_2,
|
|
|
|
|
|
|
|
|
|
// NRF52x has only 3 or 4 channels of PWM
|
|
|
|
|
#if defined(ARDUINO_ARCH_NRF52840)
|
|
|
|
|
|
|
|
|
|
#if defined(NRF_PWM3)
|
2021-07-05 14:36:42 -07:00
|
|
|
NeoBusChannel_3,
|
2021-01-24 15:44:13 -08:00
|
|
|
#endif
|
|
|
|
|
|
2021-07-05 14:36:42 -07:00
|
|
|
// ESP32 has either 8, 4, or 2 channels (S2 has only 4, C3 only 2)
|
2021-01-24 15:44:13 -08:00
|
|
|
#elif defined(ARDUINO_ARCH_ESP32)
|
|
|
|
|
|
|
|
|
|
NeoBusChannel_3,
|
|
|
|
|
|
2022-06-12 13:20:11 -07:00
|
|
|
#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32S3)
|
2021-01-24 15:44:13 -08:00
|
|
|
NeoBusChannel_4,
|
|
|
|
|
NeoBusChannel_5,
|
|
|
|
|
NeoBusChannel_6,
|
|
|
|
|
NeoBusChannel_7,
|
2022-06-12 13:20:11 -07:00
|
|
|
#endif // !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32S3)
|
2021-07-05 14:36:42 -07:00
|
|
|
|
|
|
|
|
#endif // !defined(CONFIG_IDF_TARGET_ESP32C3)
|
2021-06-09 08:34:57 -07:00
|
|
|
|
2021-01-24 15:44:13 -08:00
|
|
|
#endif // ARDUINO_ARCH_ESP32
|
2021-07-05 14:36:42 -07:00
|
|
|
|
|
|
|
|
NeoBusChannel_COUNT
|
2021-01-24 15:44:13 -08:00
|
|
|
};
|