Есть вот такая готовая структура:
typedef struct {
int cmd; /*<! The specific LCD command */
const void *data; /*<! Buffer that holds the command specific data */
size_t data_bytes; /*<! Size of `data` in memory, in bytes */
unsigned int delay_ms; /*<! Delay in milliseconds after this command */
} st7701_lcd_init_cmd_t;
static const init_cmd[] = {
{0xFF, (uint8_t []){0x77, 0x01, 0x00, 0x00, 0x13}, 5, 0},
{0xEF, (uint8_t []){0x08}, 1, 0},
{0xFF, (uint8_t []){0x77, 0x01, 0x00, 0x00, 0x10}, 5, 0},
{0xC0, (uint8_t []){0x2c, 0x00}, 2, 0},
{0xC1, (uint8_t []){0x10, 0x0C}, 2, 0},
{0xC2, (uint8_t []){0x21, 0x0A}, 2, 0},
};
Подскажите, как правильно объявить эту структуру в ардуиновском C++ и получить доступ к элементам массива data для перебора элементов? Дело в том, что в SDK для китайских контроллеров типа BL616 на C это все работает прекрасно через передачу указателя в функцию и отсчет указанного числа элементов в функции. Вот так: my_func((void *)init_cmd[i].data, init_cmd[i].data_bytes). Но в arduino ide как ни старался, получаю только значение адреса в памяти и сообщение “is not pointer-to-object” при попытке получить по нему значение, или не выровненные значения, которые то совпадают, то не совпадают с фактическими элементами массива. Что обидно, всякие ардуиновские библиотеки портируются в китайцев на ура, а в обратную сторону уперся в какой-то тупик…