Если надо - конечно же будет. пара байт в мониторе добавить.
Если надо - конечно же будет. пара байт в мониторе добавить.
Радио86 рк (Пальмира), Электроника кр04, Поиск 1
Пока можно не торопиться, проект в глубокой доработке. Ускорил прерывания, добился двухсторонней связи с РК. Но увяз в битве за скорость порта ESP32C3.
Ведущий_специалист (29.11.2024)
Новая версия прошивки, немного изменена схема железки - на один резистор меньше стало!
Выводы ESP32C3:
0 через резистор 1к PA0
1 через резистор 1к PA1
2 через резистор 1к PA2
3 через резистор 1к PA3
4 через резистор 1к PA4
5 через резистор 1к PA5
6 через резистор 1к PA6
7 через резистор 1к PA7
20 через резистор 1к PB0
21 через резистор 1к PC7
Питание через диод, чтобы девайс при подключении USB разъёма не пытался запустить РК.
Девайс после включения мигает светодиодом, пока не подхватит прописанный в исходнике WiFi, потом запускает локальный вебсервер по адресу: http://radio-86rk.local/
Там вы увидите форму для загрузки файлов. После загрузки своего файла вы увидите с какими параметрами вызывать директиву R.
Если программа стартует с нулевого адреса, можно использовать команду R,7FFF - программа загрузится с автозапуском.
Если после включения и соединения с сетью ничего не грузить, а сразу выполнить директиву R,7FFF - загрузится утилита, показывающая уровень сигнала WiFi. Выход из утилиты - АР2. Значение не обновляется в рилтайме, хотите проверить уровень сигнала ещё раз, значит придётся снова выполнить команду R,7FFF.
Чтобы проверить себя и повторяемость схемы, спаял второй девайс, всё работает, плата максимально компактная:
Исходник скетча для Arduino IDE и исходник утилиты: ESP32_86RK_ROM.zip
Если не происходит подключения к WiFi: - закомментируйте строчку "WiFi.setTxPower(WIFI_POWER_8_5dBm);". Дело в том, что есть старые версии ESP32C3, у которых ошибка в схеме антенны. В новых модулях это исправлено. Но мне попались как раз старые модули с ошибкой.
Проект разделяется на две части. Это сегодняшний вариант, максимально стабильный, настраиваемый, эмулирующий ROM-диск. Второй вариант, это с поддержкой CLI. Почему так? CLI задумывался в первую очередь, как инструмент для настройки девайса через терминал РК. Но я совсем забыл, что в РК нет маленьких буковок...
Само ESP32C3 тоже наполнено сюрпризами. Порт не успевает отдавать данные ППА, поэтому данные в порт надо засылать заранее до следующего считывания ППА. Ещё ПДП тоже вносит дёрганность в передачу данных. А ещё ВВ55 может висеть на адресе отличном от $A000... Окончательно запутал меня тот факт, что разные входы ESP32C3 с разной скоростью (приоритетом???) обрабатывают прерывания. В результате чётко работающий CLI вообще не захотел работать при изменении коммутации. Буду переделывать.
Тем не менее, остался свободным порт I2C, и ещё одна линия порта GPIO. Можно задействовать для чего-нибудь. Ну и утилитка будет дорабатываться по результатам тестирования!
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
1. Есть вариант прописать несколько SSID/паролей, а ESP сама выберет к чему подключаться. Прописать например домашний роутер, и мобилу в режиме роутера, я так тоже делал.
2. Можно запускать ESP в режиме точки доступа, как роутер, и заходить в него на сервисную страницу, менять пароль через вэб-интерфейс.
Надо пока понять, что безглючнее.
3. Если не использовать интернет, а мы его пока и так не используем, можно просто переводить ESP в режим точки доступа, а потом к ней подключаться с компа и точно так же заливать программы.
Переписал немного утилиту. Пока тестирую.
Неожиданно удобная фича обнаружилась. У меня стандартный Монитор из дистрибутива Emu80, изменённым я чёт больше не доверяю. Но на плате стоит ВИ53 и теперь ещё ИР27 для регулировки амплитуды звука. При включении ВИ53 разумеется не сбрасывается и гудит.
Дописал в утилиту инициализацию дополнительных фич. Очень удобно, если нечем перепрошить ПЗУ и вообще переписывать код Монитора не хочется.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)