Denis
Denis
немного чуствительней...
Ruslan
не могу понять, на что оно ругается?
Evgeniy
Зачем extern?
Evgeniy
Кстати, а кто-нибудь подскажет доставаемый STM32 с интерфейсом QSPI?
Ruslan
по старой памяти, чтобы из других модулей обращаться
Ruslan
или экстерн только на переменные работает?
Evgeniy
не нужно, лучше вынести в h файл, extern только для переменных годится
Ruslan
Evgeniy
просто убери extern и этого достаточно, чтобы из других .с файлов вызывать эту функцию
Ruslan
убрал, ошибку ту же показывает
Ruslan
можно ли просто компилить, без линковки, в вскоде, а то процесс долгий
Evgeniy
ошибка связана как раз с extern, которого там не должно быть
Evgeniy
дальше clean надо пробовать, для надежности
Ruslan
ага, ошибка погасла, но на это ушло почти десять минут на M1, это жесть
Ruslan
вскод зачем-то переконфигурирует проект и запускает сборку с нуля
Dr Zlo
Dr Zlo
У меня дико быстро все
Ruslan
не, этот вставлен только в main.c
Ruslan
никуда, это главный файл, main.h несуществует
Ruslan
больше интересует как в vscode настроить процесс сборки, espressif поставил, сборку в контейнере настроил, но сцуко чё так тупит всё
ok-home
Ruslan
у меня минут 10, M1/16gb
Ruslan
Ruslan
м1. на эйре
Ruslan
щас тупо в консоли запустил, хотя да, это я ж в докере собираю, не нативно
🤙🏻 ℙ𝔸𝕍𝔼𝕃
Докер скаченный не из пивоварни я имею в виду)
Ruslan
ага, нативный
Ruslan
ищу галку
🤙🏻 ℙ𝔸𝕍𝔼𝕃
Ruslan
Ruslan
выключена была
🤙🏻 ℙ𝔸𝕍𝔼𝕃
Ну тогда больше подсказать нечего)
Ruslan
чего может не нравится тут?
Ruslan
https://www.toptal.com/developers/hastebin/ahebokuvof.m
Ruslan
не, код чистый C
Ruslan
смотри, у меня есть прошивка, собирающаяся и работающая, только модуль mqtt написан прямо в main.c
Ruslan
я вытащил его код в отдельную пару файлов mqtt.h/c
Ruslan
не более
Ruslan
и началась магия
Ruslan
а ткнуть носом оно может? )
Ruslan
21 век, копиляторы всякое умеют, но не в си )))
Ruslan
да я чё только не видел, просто давно не работаю с С плотно, подзабылось )
Ruslan
нервы дороже, поэтому спокойно пишу код на питоне, но тут старое хобби, надо доделать )
Ruslan
блин, щас опять откачу код и попробуй крохотными шагами переносить )
Anonymous
Ruslan
знаешь, ни разу не страдала
Anonymous
Ruslan
код пишется мгновенно, а критичные куски можно и внешней либой на си разрулить, но это надо очень редко, либо уже в питоне правильные биндинги есть
Anonymous
Нема
Ruslan
питон во всём остальном )
Anonymous
Anonymous
питон во всём остальном )
Сколько программ не писал, особенно больших. Всегда скорость проседала в сотни раз, в отличие от компилированных
Anonymous
Он очень урезан на МК
Ruslan
Ruslan
а у меня в основном обработка данных от пользователей, они тупят изрядно )
Ruslan
Дрю ДеВолт представил язык системного программирования Hare https://opennet.ru/57081/
Ruslan
Ruslan
https://www.toptal.com/developers/hastebin/punecisone.cpp
чтобы вынести код в отдельный модуль, надо туда передать указатель на очередь команд (определение в строке 1), передачу делаю в 44...
Ruslan
ниче не перепутал?
Ruslan
Ruslan
или я хрень творю?
Ruslan
маленькими шажками дело пошло
Evgeniy
& - не понятно зачем здесь, особенно если это Си
Ruslan
Ruslan
Alex
Всем привет, а никто не делал световой комбайн на есп? Cct+rgb+ws2811 с управлением через http/mqtt ?
Ruslan
делали, но не комбайн, но с ws2812b и MQTT на всех видах связи
Alex
Не, надо в идеале все сразу, приоритет даже больше на cct с rgb. Пробовал через блинк собрать прошивку, фигня какая-то получается.
Evgeniy
Кстати задачка несложная. Очень удобно, что на лентах SPI, который есть на любом МК.
Evgeniy
Самое то сделать двойную буферизацию и сигнал обновления буфера, чтобы прямо через MQTT контроллить пиксели
Alex
Я пытаюсь перенести скетч у студийного света (там в принципе как раз есть все мне нужные функции) с ардуино на есп. Но проблема в том, что в его скетче используется прерывания порта, которые на есп нельзя запустить.
  TCCR2B = 0b00000001; // x1
  TCCR2A = 0b00000001; // phase correct
  // Пины D9 и D10 - 31.4 кГц
  TCCR1A = 0b00000001; // 8bit
  TCCR1B = 0b00000001; // x1 phase correct
  // Пины D5 и D6 - 7.8 кГц
  TCCR0B = 0b00000010; // x8
  TCCR0A = 0b00000011; // fast pwm
Не подскажите, чем эту часть можно заменить для есп?
Alex
Студийный свет гайвера
Ruslan
камрад, пока ты не сядешь и не выучишь даташит, можешь расслабиться - это совет по опыту
Indr1x
заменить упралением шимом на esp. а как именно зависит от того на чем вы пишете, в arduino фреймфорке или sdk esp. в любом случае смотрите как рулить шимом
Ruslan
особенно это круто делается на stm32, шим через дма
Ruslan
скорее всего можно спокойно портануть на esp32
Ruslan
ардуино сразу забудь, если у тебя не мелкая лента светодиодов