|
|
|
|
46533 134 23 7 |
|
Опции темы | Поиск в этой теме |
08.11.2021, 15:07 | 1 |
Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24 Адрес: Украина, Полтава
Сообщений: 5763
Сказал(а) спасибо: 340
Поблагодарили: 8156 раз(а) в 2385 сообщениях
|
Фикс прошивки Gekko 1.0
Вот архив с HEX файлами, скриптами и программами для заливки: Gekko1_0_boot_v1_1_free.zip
1. Устранён баг с ненадёжной записью в EEPROM (теперь изменения настроек сохраняет стабильно). UPD: Обнаружено ещё одно место с нестабильным копированием данных между областями EEPROM - сброс в заводские настройки (12 кликов) и загрузка (переключение) UI. 2. Устранён баг с дрожанием рампинга. 3. Устранён баг с пропуском HIGH при промотке с TURBO. 4. Устранён (случайно обнаруженный в процессе ковыряний) баг с неработающим ускорителем регулятора тока - теперь фонарь отзывчивее. 5. Рампинг замедлен в 2 раза. 6. Обновлён LUT - регулировка в области мунлайта равномернее. 7. Повышено максимальное напряжение на затворе до адекватного для используемого MOSFET значения (лучше стабилизация в районе директ-драйва) 8. Добавлен оптический загрузчик с раздельными паролями доступа к Flash и EEPROM. Теперь фонарь можно настраивать и обновлять "по воздуху" хоть с экрана телефона. Вход - как в инженерку, только удерживать кнопку нужно >3с, пока не загорится слабым зелёным. Для выхода - отвернуть крышку. 9. Добавлены новые баги (шутка) UPD: Забыл пофиксить баг с префлешем в ТК. В фонарь достаточно залить Gekko1_0_boot_v1_1_free.hex - тогда конфиг, хранящийся в EEPROM, сохранится (нифига - МК залочен, разлочка стирает всё нафиг скопом, т.к. фьюз EESAVE не стоит). Но важно запрограммировать SELFPRGEN в Fuse Extended Byte, иначе загрузчик не сможет потом писать в Flash. В архиве есть avrdude.exe 6.3.1 версии, он вроде как должен уметь программировать Fuse Extended Byte (старые версии были с багом), но не поддерживает мой FTDI, а USBASP у меня нет. Так что USBaspProg.bat не проверен, а FT232RLProg.bat с этой версией дудки не работает. Если заливаете своим програматором, то это пригодится: Код:
Шить нужно в следующем порядке: 1. Gekko1_0_free.eep 2. Gekko1_0_boot_v1_1_free.hex 3. Fuse Low Byte = 66 (0b01000010): CKSEL = 0010 (8.0 MHz) SUT = 00 (14CK) CKOUT = 1 (Off) CKDIV8 = 0 (On) 4. Fuse High Byte = 222 (0b11011110): BODLEVEL = 110 (1.8V) EESAVE = 1 (Off) WDTON = 1 (Off) SPIEN = 0 (On) DWEN = 1 (Off) RSTDISBL = 1 (Off) 5. Fuse Extended Byte = 254 (0b11111110) SELFPRGEN - 0 (On) 6. Lock Bit Byte = 252 (0b11111100): LB1 = 0 (On) LB2 = 0 (On) Для программирования в Gekko имеются доступные ISP пины, я шью вот такой приспособой из инсулинового шприца и 1.27мм штырей: Только учтите, что под двумя отверстиями находится брюхо МК, так что сильно вдавливать упирающиеся во что-то штыри - не стоит. Теперь по загрузчику: Tiny_Bootloader.exe - моя прога для работы с загрузчиком фонаря. Фонарь общается через основной светодиод, вход в boot - как в инженерку, только кнопку нужно подержать 3 или 6 секунд: 3с - чувствительный медленный режим, кнопка загорается слабым зелёным. Предназначен для конфигурирования с экрана телефона. 6с - быстрый режим, дополнительно к уже горящему зелёному загорается слабым красным. Предназначен для обмена данными через оптрон. У меня он выглядит вот так: Лютый колхоз, но слепил из того что было (завалявшийся синий светодиод и приёмник на красном 0603 светодиоде с обычным транзистором). На схеме недорогие подходящие компоненты в выводных 3мм корпусах (BPW85C и GNL-3014BC-1) - просто втыкаются в разъём USB-UART переходника и всё. Если там нет 3.3V (как у меня) - я вот использую 5V и пришлось закрасить светодиод маркером, ибо сильно яркий. Какое-то время я использовал КТ3102 в металлическом корпусе со спиленной шляпой, но потом его повредил, а больше такого не завалялось. Прога недописана, в ней только основной функционал, который мне нужен был для Панды и новой прошивки гекко. Умеет следующее: -port - указывается COM порт, в котором торчит программатор -baud - скорость порта -mcu - Название МК, с которым ожидается связь -flpass - код доступа к Flash -eepass - код доступа к EEPROM -eeprom - дальнейшие инструкции будут работать с EEPROM -flash - дальнейшие инструкции будут работать с Flash "дальнейшие инструкции": r - чтение в HEX файл с указанным именем w - запись в HEX файл с указанным именем v - верификация с указанным HEX файлом Пример: Tiny_Bootloader.exe -port COM3 -baud 1200 -mcu ATtiny44 -eepass GekkoEE4k -eeprom wv Gekko1_0_free.eep -flpass Gekko4kFlashUnlock -flash wv Gekko1_0_free.hex Верификацию делать не обязательно - пакеты с контрольной суммой, а успех записи проверяет и возвращает сам загрузчик в МК, одновременно индицируя это всё подсветкой кнопки. В планах добавить ещё пачку полезных фич в программу. Например, частичное обновление прошивки только изменениями относительно старой версии, сравнение прошивок, более удобная работа с заголовком загрузчика (там хранится конфиг самого загрузчика). Теперь по самому загрузчику в МК: Протокол у него следующий: Код:
Tiny Fast Boot protocol: Half-duplex auto speed UART 8N2 Request: 1. [1 byte] Speed synchronization (0x00) 2. [1 byte] Request ID 3. [n bytes] Request DATA[n] (if used) 4. [1 byte] Packet checksum (ID+DATA[n]+CRC=0) Response: 1. [1 byte] Response ID 2. [n bytes] Response DATA[n] (ACK, NACK or DATA) 3. [1 byte] Packet checksum (ID+DATA[n]+CRC=0) Request ID's: 0 - EEPROM lock/unlock and status (DATA[length] = Password[length] or EMPTY for status) 1 - Flash lock/unlock and status (DATA[length] = Password[length] or EMPTY for status) 2 - Read Data from EEPROM (DATA[3] = Start address, length) 3 - Read Data from Flash (DATA[3] = Start address, length) 4 - Write Data to EEPROM (DATA[2+length] = Start address, Writing Data[length]) 5 - Write Data to Flash (DATA[2+length] = Start address, Writing Data[length]) 6 - Read DEVICEINFO 7 - Read System Data 8 - Starting Application Response ID's: 0+128 - EEPROM locked Status (DATA[1] = TRUE (0x55 - correct or empty password) or FALSE (0x00 - incorrect password)) 1+128 - Flash locked Status (DATA[1] = TRUE (0x55 - correct or empty password) or FALSE (0x00 - incorrect password)) 2+128 - Readed Data from EEPROM (DATA[2+length] = Start address, Readed Data[length]) 3+128 - Readed Data from Flash (DATA[2+length] = Start address, Readed Data[length]) 4+128 - EEPROM Data Writing Status (DATA[1] = TRUE (data length) or FALSE (command or write error)) 5+128 - Flash Data Writing Status (DATA[1] = TRUE (data length) or FALSE (command or write error)) 6+128 - Readed DEVICEINFO: DATA[16] = { "TFB", //string (4 bytes, with zero at the end) 0x10, //version (BCD) BUILDDATE, //YY * 512 + MM * 32 + DD (1 word) SIGNATURE_000, SIGNATURE_001, SIGNATURE_002, PAGESIZE*2, //Flash page size, bytes (1 byte) BUFSIZE, //Buffer size, bytes (1 byte) BOOTHEADER*2 //Free space size on flash, bytes (1 word) EEPROMEND+1 //EEPROM size, bytes (1 word) } 7+128 - Readed System Data (Fuses, Lock, Signature): DATA[9] = { Fuse Low Byte, Lock Bits, Fuse Extended Byte, Fuse High Byte, Signature byte 0, Calibration data for internal oscillator, Signature byte 1, Calibration data for internal oscillator at 6.4 MHz, Signature byte 2 } 8+128 - Application Started Status (DATA[1] = TRUE (0x55) or FALSE (0x00, no app)) 1. [1 byte] Speed synchronization (0x00) 2. [1 byte] Request ID (0 - EEPROM lock/unlock and status) 3. [1 byte] Packet checksum (0-0-0=0) В ответ должны получить "$80$00$80": 1. [1 byte] Response ID (0+128 - EEPROM locked Status) 2. [1 byte] Response DATA[n] (0 - Locked) 3. [1 byte] Packet checksum (0-128-0=-128%256=12 Вот демонстрационная гифка: 1. Экран на максимум 2. Фонарь в режим высокой чувствительности 3. Ждём длительной паузы в анимации 4. Направляем фонарь на экран во время паузы 5. Отводим во время следующей паузы 6. PROFIT. Такс, что ещё... А, в заводской прошивке загрузчика нет! А когда/если появится - там будет другой пароль, поэтому первый раз на форумную прошивку перепрошить придётся через ISP с потерей гарантии. Важный момент: заводской сброс хранится в EEPROM, пароль будет один что у завода, что у форумника, поэтому можно спокойно угробить (обратимо) фонарь. Формат данных в EEPROM следующий: Код:
.equ Cube_Root_Imoon = 1 //Ток мунлайта (~2mA) .equ Cube_Root_Imin = 63 //Ток MIN (77mA) .equ Cube_Root_Imax = 120 //Максимальный ток (3A) .equ Cube_Root_Istep = 19 //Шаг дискретного интерфейса .equ Cube_Root_Iind = 63 //ток импульсной индикации (58mA) .equ Cube_Root_Itact = 82 //ток тактического режима (348mA) .equ Termal_fb_gain = 16 //Усиление ошибки терморегулятора (Iout = Iout*(32768-(0...((T*Gain-Termal_thld_default)*256)...32767))/32768) .equ Termal_thld_default = (29+300)*Termal_fb_gain //Температура термостатирования (~50°C) //------------------------------------------------------------------------------------- //Дефолтные значения (EEPROM): .equ TthldL = LOW(Termal_thld_default) .equ TthldH = HIGH(Termal_thld_default) //------------------------------------------------------ //Конфигурация пресета 0 (Базовый Дискрет): //Слоты: .equ p0Slt1 = 2 //2 клика - Турбо .equ p0Slt2 = 0 .equ p0Slt3 = 0 .equ p0Slt4 = 0 .equ p0Slt5 = 4 //4 клика - Индикация батареи .equ p0Slt6 = 0 .equ p0Slt7 = 0 .equ p0Slt8 = 0 .equ p0Slt9 = 0 //Флаги: .equ p0Flgs = 0b00011100 //С памятью, Без подсветки, Дискрет, Без маячка //0 - Флаг маяка подсветкой кнопки //1 - Флаг подсветки кнопки //2 - Флаг дискретного режима настройки //3 - Флаг памяти яркости режимов //4 - Флаг блокировки кнопки (инв.) //Яркость режимов: .equ p0BExt = (2*Cube_Root_Istep)+Cube_Root_Imin //4-й режим (High) .equ p0BMn = (1*Cube_Root_Istep)+Cube_Root_Imin //3-й режим (Mid) //------------------------------------------------------ //Конфигурация пресета 1 (Базовый Плавный): //Слоты: .equ p1Slt1 = 1 //2 клика - Доп. Режим .equ p1Slt2 = 0 .equ p1Slt3 = 0 .equ p1Slt4 = 0 .equ p1Slt5 = 4 //4 клика - Индикация батареи .equ p1Slt6 = 0 .equ p1Slt7 = 0 .equ p1Slt8 = 13 //5 кликов+холд - загрузка пресета 2 (Расширенный Плавный) .equ p1Slt9 = 0 //Флаги: .equ p1Flgs = 0b00011010 //С памятью, C подсветкой, Рампинг, Без маячка //0 - Флаг маяка подсветкой кнопки //1 - Флаг подсветки кнопки //2 - Флаг дискретного режима настройки //3 - Флаг памяти яркости режимов //4 - Флаг блокировки кнопки (инв.) //Яркость режимов: .equ p1BExt = (3*Cube_Root_Istep)+Cube_Root_Imin //4-й режим (High) .equ p1BMn = (1*Cube_Root_Istep)+Cube_Root_Imin //3-й режим (Mid) //------------------------------------------------------ //Конфигурация пресета 2 (авторский (Inferion) расширенный плавный): //Слоты: .equ p2Slt1 = 2 //2 клика - Турбо .equ p2Slt2 = 2 //2 клика+холд - Турбо .equ p2Slt3 = 3 //3 клика - Строб .equ p2Slt4 = 5 //3 клика+холд - Маяк .equ p2Slt5 = 4 //4 клика - Индикация батареи .equ p2Slt6 = 6 //4 клика+холд - Тактический режим .equ p2Slt7 = 10 //5 кликов - Подсветка кнопки .equ p2Slt8 = 14 //5 кликов+холд - загрузка пресета 3 (Расширенный Дискрет) .equ p2Slt9 = 11 //6 кликов - Вкл/выкл маяка подсветкой //Флаги: .equ p2Flgs = 0b00011011 //С памятью, С подсветкой, С маячком, Рампинг, Без маячка //0 - Флаг маяка подсветкой кнопки //1 - Флаг подсветки кнопки //2 - Флаг дискретного режима настройки //3 - Флаг памяти яркости режимов //4 - Флаг блокировки кнопки (инв.) //Яркость режимов: .equ p2BExt = (2*Cube_Root_Istep)+Cube_Root_Imin //4-й режим (High) .equ p2BMn = (1*Cube_Root_Istep)+Cube_Root_Imin //3-й режим (Mid) //------------------------------------------------------ //Конфигурация пресета 3 (соавторский (fnksb) расширенный дискрет): //Слоты: .equ p3Slt1 = 2 //2 клика - Турбо .equ p3Slt2 = 0 .equ p3Slt3 = 3 //3 клика - Строб .equ p3Slt4 = 0 .equ p3Slt5 = 4 //4 клика - Индикация батареи .equ p3Slt6 = 8 //4 клика+холд - Память режимов .equ p3Slt7 = 10 //5 кликов - Подсветка кнопки .equ p3Slt8 = 12 //5 кликов+холд - загрузка пресета 1 (Базовый Плавный) .equ p3Slt9 = 0 //Флаги: .equ p3Flgs = 0b00010100 //Без памяти, Без подсветки, Дискретный режим, Без маячка //0 - Флаг маяка подсветкой кнопки //1 - Флаг подсветки кнопки //2 - Флаг дискретного режима настройки //3 - Флаг памяти яркости режимов //4 - Флаг блокировки кнопки (инв.) //Яркость режимов: .equ p3BExt = (2*Cube_Root_Istep)+Cube_Root_Imin //4-й режим (High) .equ p3BMn = (1*Cube_Root_Istep)+Cube_Root_Imin //3-й режим (Mid) //------------------------------------------------------------------------------------- //EEPROM: .eseg //Рабочая область (Пользовательские пресеты и данные): //Пресет 0 (рабочий) .db p0Slt1, p0Slt2, p0Slt3, p0Slt4, p0Slt5, p0Slt6, p0Slt7, p0Slt8 ;0 .db p0Slt9, p0Flgs, p0BExt, p0BMn, TthldL, TthldH, 0, 0 ;8 //Пресет 3 .db p3Slt1, p3Slt2, p3Slt3, p3Slt4, p3Slt5, p3Slt6, p3Slt7, p3Slt8 ;16 .db p3Slt9, p3Flgs, p3BExt, p3BMn, 0, 0, 0, 0 ;24 //Пресет 2 .db p2Slt1, p2Slt2, p2Slt3, p2Slt4, p2Slt5, p2Slt6, p2Slt7, p2Slt8 ;32 .db p2Slt9, p2Flgs, p2BExt, p2BMn, 0, 0, 0, 0 ;40 //Пресет 1 .db p1Slt1, p1Slt2, p1Slt3, p1Slt4, p1Slt5, p1Slt6, p1Slt7, p1Slt8 ;48 .db p1Slt9, p1Flgs, p1BExt, p1BMn, 0, 0, 0, 0 ;56 //Заводская область (Копия для сброса рабочей области): .db p0Slt1, p0Slt2, p0Slt3, p0Slt4, p0Slt5, p0Slt6, p0Slt7, p0Slt8 ;64 .db p0Slt9, p0Flgs, p0BExt, p0BMn, TthldL, TthldH, 0, 0 ;72 .db p3Slt1, p3Slt2, p3Slt3, p3Slt4, p3Slt5, p3Slt6, p3Slt7, p3Slt8 ;80 .db p3Slt9, p3Flgs, p3BExt, p3BMn, 0, 0, 0, 0 ;88 .db p2Slt1, p2Slt2, p2Slt3, p2Slt4, p2Slt5, p2Slt6, p2Slt7, p2Slt8 ;96 .db p2Slt9, p2Flgs, p2BExt, p2BMn, 0, 0, 0, 0 ;104 .db p1Slt1, p1Slt2, p1Slt3, p1Slt4, p1Slt5, p1Slt6, p1Slt7, p1Slt8 ;112 .db p1Slt9, p1Flgs, p1BExt, p1BMn, 0, 0, 0, 0 ;120 Если нам нужно установить яркость в Max в пресете 1 - p1BMn = 120, который находится по адресу 59. Если мы хотим задать конкретный ток - потребуется LUT: Код:
//Brightness LUT lutdata: //3A .db LOW(Imin+0), HIGH(Imin+0), LOW(Imin+2), HIGH(Imin+2), LOW(Imin+4), HIGH(Imin+4), LOW(Imin+6), HIGH(Imin+6) //0-7 .db LOW(Imin+8), HIGH(Imin+8), LOW(Imin+10), HIGH(Imin+10), LOW(Imin+13), HIGH(Imin+13), LOW(Imin+16), HIGH(Imin+16) //8-15 .db LOW(Imin+19), HIGH(Imin+19), LOW(Imin+23), HIGH(Imin+23), LOW(Imin+28), HIGH(Imin+28), LOW(Imin+33), HIGH(Imin+33) //16-23 .db LOW(Imin+38), HIGH(Imin+38), LOW(Imin+45), HIGH(Imin+45), LOW(Imin+52), HIGH(Imin+52), LOW(Imin+59), HIGH(Imin+59) //24-31 .db LOW(Imin+68), HIGH(Imin+68), LOW(Imin+78), HIGH(Imin+78), LOW(Imin+89), HIGH(Imin+89), LOW(Imin+102), HIGH(Imin+102) //32-39 .db LOW(Imin+116), HIGH(Imin+116), LOW(Imin+131), HIGH(Imin+131), LOW(Imin+149), HIGH(Imin+149), LOW(Imin+169), HIGH(Imin+169) //40-47 .db LOW(Imin+191), HIGH(Imin+191), LOW(Imin+216), HIGH(Imin+216), LOW(Imin+244), HIGH(Imin+244), LOW(Imin+275), HIGH(Imin+275) //48-55 .db LOW(Imin+311), HIGH(Imin+311), LOW(Imin+350), HIGH(Imin+350), LOW(Imin+395), HIGH(Imin+395), LOW(Imin+445), HIGH(Imin+445) //56-63 .db LOW(Imin+502), HIGH(Imin+502), LOW(Imin+565), HIGH(Imin+565), LOW(Imin+637), HIGH(Imin+637), LOW(Imin+717), HIGH(Imin+717) //64-71 .db LOW(Imin+807), HIGH(Imin+807), LOW(Imin+909), HIGH(Imin+909), LOW(Imin+1024), HIGH(Imin+1024), LOW(Imin+1153), HIGH(Imin+1153) //72-79 .db LOW(Imin+1299), HIGH(Imin+1299), LOW(Imin+1464), HIGH(Imin+1464), LOW(Imin+1650), HIGH(Imin+1650), LOW(Imin+1860), HIGH(Imin+1860) //80-87 .db LOW(Imin+2098), HIGH(Imin+2098), LOW(Imin+2368), HIGH(Imin+2368), LOW(Imin+2674), HIGH(Imin+2674), LOW(Imin+3022), HIGH(Imin+3022) //88-95 .db LOW(Imin+3418), HIGH(Imin+3418), LOW(Imin+3871), HIGH(Imin+3871), LOW(Imin+4389), HIGH(Imin+4389), LOW(Imin+4983), HIGH(Imin+4983) //96-103 .db LOW(Imin+5670), HIGH(Imin+5670), LOW(Imin+6466), HIGH(Imin+6466), LOW(Imin+7395), HIGH(Imin+7395), LOW(Imin+8490), HIGH(Imin+8490) //104-111 .db LOW(Imin+9797), HIGH(Imin+9797), LOW(Imin+11383), HIGH(Imin+11383), LOW(Imin+13365), HIGH(Imin+13365), LOW(Imin+15965), HIGH(Imin+15965) //112-119 .db LOW(Imin+19786), HIGH(Imin+19786) //120-121 А дальше арифметика: X = I * 32768LSB / 5.5A. Затем ищем ближайшие к результату значения в таблице и вбиваем их адрес+1, но не более 120. Таблица 16-ти битная, да, и адресация идёт через 2 байта, но можно взять адрес старшей части и это будет интерполяция между соседними значениями. Есть ещё такой вот график: Мой туториал по этому туториалу [Исправлено: INFERION, 15.11.2022 в 11:06] |
Поблагодарили: 23 раз(а) |
AEDe (20.11.2021), alexsav (20.11.2021), Barabas (08.11.2021), Danshin_s (20.11.2022), Drex (08.11.2021), fnksb (09.11.2021), FOCUSnik (11.08.2023), galex (08.11.2021), grasl (08.11.2021), ilyaapp (08.11.2021), Kelevratony (08.11.2021), Magvay (08.11.2021), murashkin (21.11.2021), OlegI (05.11.2022), Omnilight (09.11.2022), pingpong (08.11.2021), RatsM (08.11.2021), SHELLes (14.11.2021), skorp777 (22.11.2021), Timofej 000 (08.11.2021), vorsmann (21.12.2021), Zexx (19.11.2021), Монах_ганз (01.11.2022)
|
08.11.2021, 15:12 | 2 |
Заблокирован
Регистрация: 31.10.2011 Последняя активность: 06.10.2024 03:48 Адрес: Питер
Сообщений: 16760
Записей в дневнике: 3 Сказал(а) спасибо: 25169
Поблагодарили: 9839 раз(а) в 5511 сообщениях
|
Re: Фикс прошивки Gekko 1.0
А список изменений? Кроме рампинга человеческого? Прочитал. Как-то на прорывную версию не сильно тянет.
[Исправлено: Magvay, 08.11.2021 в 15:21] |
08.11.2021, 15:21 | 3 |
Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24 Адрес: Украина, Полтава
Сообщений: 5763
Сказал(а) спасибо: 340
Поблагодарили: 8156 раз(а) в 2385 сообщениях
|
Re: Фикс прошивки Gekko 1.0
Magvay, я ещё оформление поста не закончил. Перечитывай.
|
08.11.2021, 15:48 | 4 |
Ветеран Фонарёвки
Регистрация: 29.01.2021 Последняя активность: Сегодня 09:56 Адрес: Дебри Кавказа
Сообщений: 1736
Сказал(а) спасибо: 697
Поблагодарили: 1000 раз(а) в 523 сообщениях
|
Re: Фикс прошивки Gekko 1.0
|
08.11.2021, 16:01 | 5 | |
Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24 Адрес: Украина, Полтава
Сообщений: 5763
Сказал(а) спасибо: 340
Поблагодарили: 8156 раз(а) в 2385 сообщениях
|
Re: Фикс прошивки Gekko 1.0
А где-то написано что это прорывная версия? Прорывной нужно 8кБ, а не текущие 4. От прорывной тут только оптический канал связи. Фиксов багов мало? Им хотя бы стало возможно пользоваться...
Цитата:
Тут обновлён LUT, он более резкий и частично компенсирует замедление. Железо то может, памяти на это нет. Реализация уже есть, в т.ч. и с супермунлайтами (там же для этого в схеме отдельная цепь есть, но её обсчитывать сложно). [Исправлено: INFERION, 08.11.2021 в 16:31] |
|
08.11.2021, 16:09 | 6 |
Коллекционер
Регистрация: 01.04.2021 Последняя активность: Сегодня 11:50
Сообщений: 3925
Сказал(а) спасибо: 2401
Поблагодарили: 1365 раз(а) в 882 сообщениях
|
Re: Фикс прошивки Gekko 1.0
Во, про это я в курсе! СВОБОДУ ИНФЕРИОНУ! Выдать килобайты! Не мешать таланту флэшеголическому!
__________________
Байки старого генерала |
08.11.2021, 16:26 | 7 |
Заблокирован
Регистрация: 31.10.2011 Последняя активность: 06.10.2024 03:48 Адрес: Питер
Сообщений: 16760
Записей в дневнике: 3 Сказал(а) спасибо: 25169
Поблагодарили: 9839 раз(а) в 5511 сообщениях
|
Re: Фикс прошивки Gekko 1.0
Так... Как переключить в это дело фонарь, ты вроде написал:А чем кино для телефона то генерируется?
|
Поблагодарили: 1 раз |
Drex (08.11.2021)
|
08.11.2021, 16:33 | 8 |
Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24 Адрес: Украина, Полтава
Сообщений: 5763
Сказал(а) спасибо: 340
Поблагодарили: 8156 раз(а) в 2385 сообщениях
|
Re: Фикс прошивки Gekko 1.0
Так меня никто и не ограничивает. Терпеливо он ждут ни на что особо не рассчитывая . Да и на 4кБ я раньше сам согласился, так что...
А вот пока ничем, никто пока html страничку со скриптами не запилил, а мне и без этого есть чем заняться. Оно работает, код дал, документацию и примеры дал - жду желающих. Тем более что они когда-то были и один даже что-то там начал и потом пропал. [Исправлено: INFERION, 08.11.2021 в 16:53] |
Поблагодарили: 1 раз |
Товарищ генерал (09.11.2021)
|
08.11.2021, 16:58 | 10 |
Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24 Адрес: Украина, Полтава
Сообщений: 5763
Сказал(а) спасибо: 340
Поблагодарили: 8156 раз(а) в 2385 сообщениях
|
Re: Фикс прошивки Gekko 1.0
Есть другой, джедайский путь: купить фототранзистор и найти синий светодиод с каким-нибуь USB-UART переходником, и вбить что нужно или вручную, или скормив программатору поправленный .eep файл. fnksb вот всё не доберётся до этого, хотя у него уже всё давно есть.
|
08.11.2021, 22:49 | 12 |
Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24 Адрес: Украина, Полтава
Сообщений: 5763
Сказал(а) спасибо: 340
Поблагодарили: 8156 раз(а) в 2385 сообщениях
|
Re: Фикс прошивки Gekko 1.0
RatsM, нет. Там только по проводу и немного другой протокол, требующий другого, более старого софта. Теоретически она так может, если место в памяти найти.
|
Поблагодарили: 1 раз |
RatsM (08.11.2021)
|
09.11.2021, 15:09 | 13 | |
Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24 Адрес: Украина, Полтава
Сообщений: 5763
Сказал(а) спасибо: 340
Поблагодарили: 8156 раз(а) в 2385 сообщениях
|
Re: Фикс прошивки Gekko 1.0
Цитата:
|
|
09.11.2021, 15:14 | 14 |
Коллекционер
Регистрация: 01.04.2021 Последняя активность: Сегодня 11:50
Сообщений: 3925
Сказал(а) спасибо: 2401
Поблагодарили: 1365 раз(а) в 882 сообщениях
|
Re: Фикс прошивки Gekko 1.0
То то мне казалось, что давно Admin-а не видел
|
09.11.2021, 15:27 | 15 |
Обыкновенный новичок
Регистрация: 28.10.2018 Последняя активность: Сегодня 12:05 Адрес: Сортавала
Сообщений: 2617
Сказал(а) спасибо: 11692
Поблагодарили: 2007 раз(а) в 1040 сообщениях
|
Re: Фикс прошивки Gekko 1.0
|
09.11.2021, 16:36 | 16 |
Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24 Адрес: Украина, Полтава
Сообщений: 5763
Сказал(а) спасибо: 340
Поблагодарили: 8156 раз(а) в 2385 сообщениях
|
Re: Фикс прошивки Gekko 1.0
Почему? Есть же разговоры за какую-то лимитовку на 8кБ для фонарёвки? Ну или когда-то там перейдут, когда закончатся запасы 4кБ, если модель к тому моменту ещё будет актуальна... Ещё вариант - в этих вот 4кБ что-то выкинуть и добавить что нужнее. Тут сейчас ещё и память то не вся забита, просто сам движок Юника очень упрощён и не позволяет получать необходимые для мунлайта данные (напряжение, к примеру), а нормальный движок, как в Панде, уже не лезет одновременно с загрузчиком. Кстати да, загрузчик тоже можно ведь выкинуть и потерять возможность обновлять и конфигурировать без спец. шнурка и компа.
Главный вопрос тут в другом - а кто будет этим заниматься? |
Поблагодарили: 3 раз(а) |
20.11.2021, 10:23 | 17 |
Ветеран Фонарёвки
Регистрация: 11.07.2013 Последняя активность: 24.02.2022 14:47 Адрес: Киев
Сообщений: 1596
Сказал(а) спасибо: 27
Поблагодарили: 958 раз(а) в 488 сообщениях
|
Re: Фикс прошивки Gekko 1.0
Тоже самое. Периодически пишу, но все в никуда.
|
Поблагодарили: 1 раз |
murashkin (21.11.2021)
|
20.11.2021, 11:42 | 18 |
Ветеран Фонарёвки
Регистрация: 11.08.2011 Последняя активность: Сегодня 11:01 Адрес: Дубна
Сообщений: 10657
Записей в дневнике: 1 Сказал(а) спасибо: 2624
Поблагодарили: 11921 раз(а) в 4349 сообщениях
|
Re: Фикс прошивки Gekko 1.0
INFERION, да медленный рампинг стал по приятнее.
А с загрузчиком не понял. Зажимаю кнопку. Горит слабый зеленый. Затем загорается сильно красный и больше ни на что не реагирует. Скинь, пожалуйста, пример какой нибудь осмысленный чего залить через экран можно.
__________________
* [Исправлено: AEDe, 20.11.2021 в 13:35] |
Поблагодарили: 1 раз |
murashkin (21.11.2021)
|
20.11.2021, 14:23 | 19 | |||
Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24 Адрес: Украина, Полтава
Сообщений: 5763
Сказал(а) спасибо: 340
Поблагодарили: 8156 раз(а) в 2385 сообщениях
|
Re: Фикс прошивки Gekko 1.0
После того как отпустил кнопку? Ты не написал что отпустил её, но судя по дальнейшей писанине - отпустил и потом начал в чувствительном режиме вертеть фонарь по всяким источникам света и он словил ошибку пакета (ну разумеется, вместо сигнала одни помехи). Это не страшно, как только он начнёт принимать исправный пакет (синхронизирует скорость и пройдёт проверку стартового условия) - красный погаснет. А дальше либо загорится красный (ошибка), либо зелёный (пакет принят успешно), либо одновременно и то и то (пакет принят без ошибок, но его содержимое некорректно).
А на что он должен у тебя реагировать то? Он же на мусор каждый раз будет красный зажигать. Цитата:
Тут полезно иметь представления что такое UART. В частности, понимать что является стартовым и стоповым условием для него: Данные через картинку передаются инверсно - нули это белые кадры. Вот же ЯЛ выкладывал видосы как это выглядит:
[Исправлено: INFERION, 20.11.2021 в 16:02] |
|||
20.11.2021, 15:06 | 20 |
Ветеран Фонарёвки
Регистрация: 11.08.2011 Последняя активность: Сегодня 11:01 Адрес: Дубна
Сообщений: 10657
Записей в дневнике: 1 Сказал(а) спасибо: 2624
Поблагодарили: 11921 раз(а) в 4349 сообщениях
|
Re: Фикс прошивки Gekko 1.0
INFERION, а что должно происходить при прочтении этой гифки? Ну я навожу , оно мигает себе фонарь при этом ничего не делает, красный не загорается.
Так и должно быть? |