Светодиодные фонари и световые приборы. Всё о светотехнике.
Вернуться   Форум FONAREVKA.RU Мастерские светотехников Мастерская: INFERION
Расширенный поиск
Забыли пароль? Регистрация

  • О нашем проекте
  • Светотехника и световые приборы
  • Правила форума
Проект FONAREVKA.RU специализируется на предоставлении всей необходимой информации по светотехнике:

— светодиодные фонари;
— различные источники питания;
— разнообразные зарядные устройства;
— освещение помещений и наружное освещение;
— световые приборы для личного, пассажирского и грузового транспорта;
— специальные световые приборы для медицины, для растений, для аквариумов, для террариумов, а также аварийно-сигнальные световые приборы;
— альтернативные источники света;
— лазеры и лазерная техника.

Если у вас есть вопросы по выбору фонарей, аккумуляторов и зарядных устройств ознакомьтесь с FAQ от наших экспертов:

F.A.Q. по выбору фонарей различных типов;
F.A.Q. по выбору аккумуляторов;
F.A.Q. по выбору зарядных устройств.
Ответ  Создать новую тему
Просмотров в теме 37412   Ответов в теме 134   Подписчиков на тему 23   Добавили в закладки 7
Опции темы Поиск в этой теме
Старый 08.11.2021, 15:07 Автор темы   1

 
Аватар для INFERION
 
Регистрация: 07.04.2013
Последняя активность: 13.06.2023 02:24
Адрес: Украина, Полтава
Сообщений: 5764
Сказал(а) спасибо: 340
Поблагодарили: 8154 раз(а) в 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 уже имеется штатная прошивка, то заменить достаточно Gekko1_0_boot_v1_1_free.hex (и запрограммировать SELFPRGEN!). Порядок выполнения операций не критичен, просто этот самый безопасный.
Для программирования в Gekko имеются доступные ISP пины, я шью вот такой приспособой из инсулинового шприца и 1.27мм штырей:
Нажмите на изображение для увеличения
Название: photo_2021-11-08_12-33-34.jpg
Просмотров: 1468
Размер:	78.0 Кб
ID:	245455Нажмите на изображение для увеличения
Название: photo_2021-11-08_12-33-37.jpg
Просмотров: 1465
Размер:	70.8 Кб
ID:	245454
Только учтите, что под двумя отверстиями находится брюхо МК, так что сильно вдавливать упирающиеся во что-то штыри - не стоит.

Теперь по загрузчику:
Tiny_Bootloader.exe - моя прога для работы с загрузчиком фонаря. Фонарь общается через основной светодиод, вход в boot - как в инженерку, только кнопку нужно подержать 3 или 6 секунд:
3с - чувствительный медленный режим, кнопка загорается слабым зелёным. Предназначен для конфигурирования с экрана телефона.
6с - быстрый режим, дополнительно к уже горящему зелёному загорается слабым красным. Предназначен для обмена данными через оптрон. У меня он выглядит вот так:
Нажмите на изображение для увеличения
Название: photo_2021-11-08_12-33-29.jpg
Просмотров: 1459
Размер:	84.5 Кб
ID:	245456Нажмите на изображение для увеличения
Название: Optron.png
Просмотров: 1403
Размер:	8.1 Кб
ID:	245453
Лютый колхоз, но слепил из того что было (завалявшийся синий светодиод и приёмник на красном 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
Нажмите на изображение для увеличения
Название: Boot.png
Просмотров: 1428
Размер:	33.6 Кб
ID:	245458
Верификацию делать не обязательно - пакеты с контрольной суммой, а успех записи проверяет и возвращает сам загрузчик в МК, одновременно индицируя это всё подсветкой кнопки.
В планах добавить ещё пачку полезных фич в программу. Например, частичное обновление прошивки только изменениями относительно старой версии, сравнение прошивок, более удобная работа с заголовком загрузчика (там хранится конфиг самого загрузчика).

Теперь по самому загрузчику в МК:
Протокол у него следующий:
Код:
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))
Например, если мы хотим отправить ему через экран "EEPROM lock/unlock and status" - мы отправляем "$00$00$00", т.е. три нуля:
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

Вот демонстрационная гифка:
Нажмите на изображение для увеличения
Название: imgonline-com-ua-GIF-Animation-5AvCb1bP7mgsdatQ.gif
Просмотров: 200
Размер:	4.4 Кб
ID:	245459
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
Например, если мы хотим индикацию батареи на 4 клика в рабочем UI - нужно записать номер опции (4) в слот 5 пресета 0 - p0Slt5, который находится по адресу 4.
Если нам нужно установить яркость в 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
(Imin = 12)
А дальше арифметика: X = I * 32768LSB / 5.5A. Затем ищем ближайшие к результату значения в таблице и вбиваем их адрес+1, но не более 120. Таблица 16-ти битная, да, и адресация идёт через 2 байта, но можно взять адрес старшей части и это будет интерполяция между соседними значениями. Есть ещё такой вот график:
Нажмите на изображение для увеличения
Название: photo_2021-10-27_23-45-41.jpg
Просмотров: 182
Размер:	67.0 Кб
ID:	245467

Мой туториал по этому туториалу

[Исправлено: INFERION, 15.11.2022 в 11:06]
INFERION вне форума   Ответить с цитированием Вверх
Поблагодарили: 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
Magvay
Заблокирован
 
Регистрация: 31.10.2011
Последняя активность: 30.03.2024 02:51
Адрес: Питер
Сообщений: 16864
Записей в дневнике: 3
Сказал(а) спасибо: 25169
Поблагодарили: 9837 раз(а) в 5511 сообщениях

По умолчанию Re: Фикс прошивки Gekko 1.0

А список изменений? Кроме рампинга человеческого? Прочитал. Как-то на прорывную версию не сильно тянет.

[Исправлено: Magvay, 08.11.2021 в 15:21]
Magvay вне форума   Ответить с цитированием Вверх
Старый 08.11.2021, 15:21 Автор темы   3
INFERION

 
Аватар для INFERION
 
Регистрация: 07.04.2013
Последняя активность: 13.06.2023 02:24
Адрес: Украина, Полтава
Сообщений: 5764
Сказал(а) спасибо: 340
Поблагодарили: 8154 раз(а) в 2385 сообщениях

По умолчанию Re: Фикс прошивки Gekko 1.0

Magvay, я ещё оформление поста не закончил. Перечитывай.
INFERION вне форума   Ответить с цитированием Вверх
Старый 08.11.2021, 15:48   4
Жить настоящим
Ветеран Фонарёвки
 
Аватар для Жить настоящим
 
Регистрация: 29.01.2021
Последняя активность: 11.05.2024 12:14
Адрес: Дебри Кавказа
Сообщений: 1735
Сказал(а) спасибо: 693
Поблагодарили: 976 раз(а) в 519 сообщениях

По умолчанию Re: Фикс прошивки Gekko 1.0

Цитата:
Посмотреть сообщение Сообщение от INFERION :
Рампинг замедлен в 2 раза.
Он и так был неторопливым, куда медленнее то.
И мунлайт хотелось бы чуть менее яркий.
А так молодцы.
Жить настоящим вне форума   Ответить с цитированием Вверх
Старый 08.11.2021, 16:01 Автор темы   5
INFERION

 
Аватар для INFERION
 
Регистрация: 07.04.2013
Последняя активность: 13.06.2023 02:24
Адрес: Украина, Полтава
Сообщений: 5764
Сказал(а) спасибо: 340
Поблагодарили: 8154 раз(а) в 2385 сообщениях

По умолчанию Re: Фикс прошивки Gekko 1.0

Цитата:
Посмотреть сообщение Сообщение от Magvay :
Как-то на прорывную версию не сильно тянет.
А где-то написано что это прорывная версия? Прорывной нужно 8кБ, а не текущие 4. От прорывной тут только оптический канал связи. Фиксов багов мало? Им хотя бы стало возможно пользоваться...
Цитата:
Посмотреть сообщение Сообщение от Magvay :
Когда нужно поставить один режим 1А, а дополнительный в 2А для разных пробежек
Сейчас это можно залить сгенерированными видео с экрана телефона, а не ловить мультиметром.
Цитата:
Посмотреть сообщение Сообщение от Жить настоящим :
Он и так был неторопливым, куда медленнее то.
Тут обновлён LUT, он более резкий и частично компенсирует замедление.
Цитата:
Посмотреть сообщение Сообщение от Жить настоящим :
И мунлайт хотелось бы чуть менее яркий.
Железо то может, памяти на это нет. Реализация уже есть, в т.ч. и с супермунлайтами (там же для этого в схеме отдельная цепь есть, но её обсчитывать сложно).

[Исправлено: INFERION, 08.11.2021 в 16:31]
INFERION вне форума   Ответить с цитированием Вверх
Старый 08.11.2021, 16:09   6
Товарищ генерал
Рядовой Фонаревки
 
Аватар для Товарищ генерал
 
Регистрация: 01.04.2021
Последняя активность: Вчера 15:34
Сообщений: 3132
Сказал(а) спасибо: 1894
Поблагодарили: 1092 раз(а) в 698 сообщениях

По умолчанию Re: Фикс прошивки Gekko 1.0

Цитата:
Посмотреть сообщение Сообщение от INFERION :
Прорывной нужно 8кБ, а не текущие 4.
Во, про это я в курсе! СВОБОДУ ИНФЕРИОНУ! Выдать килобайты! Не мешать таланту флэшеголическому!
Товарищ генерал вне форума   Ответить с цитированием Вверх
Поблагодарили: 2 раз(а)
murashkin (21.11.2021), skorp777 (22.11.2021)
Старый 08.11.2021, 16:26   7
Magvay
Заблокирован
 
Регистрация: 31.10.2011
Последняя активность: 30.03.2024 02:51
Адрес: Питер
Сообщений: 16864
Записей в дневнике: 3
Сказал(а) спасибо: 25169
Поблагодарили: 9837 раз(а) в 5511 сообщениях

По умолчанию Re: Фикс прошивки Gekko 1.0

Цитата:
Посмотреть сообщение Сообщение от INFERION :
Сейчас это можно залить сгенерированными видео с экрана телефона
Так... Как переключить в это дело фонарь, ты вроде написал:
Цитата:
Посмотреть сообщение Сообщение от INFERION :
вход в boot - как в инженерку, только кнопку нужно подержать 3 или 6 секунд:
3с - чувствительный медленный режим, кнопка загорается слабым зелёным. Предназначен для конфигурирования с экрана телефона.
А чем кино для телефона то генерируется?
Magvay вне форума   Ответить с цитированием Вверх
Поблагодарили: 1 раз
Drex (08.11.2021)
Старый 08.11.2021, 16:33 Автор темы   8
INFERION

 
Аватар для INFERION
 
Регистрация: 07.04.2013
Последняя активность: 13.06.2023 02:24
Адрес: Украина, Полтава
Сообщений: 5764
Сказал(а) спасибо: 340
Поблагодарили: 8154 раз(а) в 2385 сообщениях

По умолчанию Re: Фикс прошивки Gekko 1.0

Цитата:
Посмотреть сообщение Сообщение от Товарищ генерал :
СВОБОДУ ИНФЕРИОНУ!
Так меня никто и не ограничивает. Терпеливо он ждут ни на что особо не рассчитывая . Да и на 4кБ я раньше сам согласился, так что...
Цитата:
Посмотреть сообщение Сообщение от Magvay :
А чем кино для телефона то генерируется?
А вот пока ничем, никто пока html страничку со скриптами не запилил, а мне и без этого есть чем заняться. Оно работает, код дал, документацию и примеры дал - жду желающих. Тем более что они когда-то были и один даже что-то там начал и потом пропал.

[Исправлено: INFERION, 08.11.2021 в 16:53]
INFERION вне форума   Ответить с цитированием Вверх
Поблагодарили: 1 раз
Старый 08.11.2021, 16:51   9
Magvay
Заблокирован
 
Регистрация: 31.10.2011
Последняя активность: 30.03.2024 02:51
Адрес: Питер
Сообщений: 16864
Записей в дневнике: 3
Сказал(а) спасибо: 25169
Поблагодарили: 9837 раз(а) в 5511 сообщениях

По умолчанию Re: Фикс прошивки Gekko 1.0

Цитата:
Посмотреть сообщение Сообщение от INFERION :
А вот пока ничем,
Цитата:
Посмотреть сообщение Сообщение от INFERION :
Сейчас это можно залить сгенерированными видео с экрана телефона, а не ловить мультиметром.
Ты такой милый, но я уже привык Как же хорошо, что есть дома мультиметр, надо еще запасной купить
Magvay вне форума   Ответить с цитированием Вверх
Поблагодарили: 1 раз
murashkin (21.11.2021)
Старый 08.11.2021, 16:58 Автор темы   10
INFERION

 
Аватар для INFERION
 
Регистрация: 07.04.2013
Последняя активность: 13.06.2023 02:24
Адрес: Украина, Полтава
Сообщений: 5764
Сказал(а) спасибо: 340
Поблагодарили: 8154 раз(а) в 2385 сообщениях

По умолчанию Re: Фикс прошивки Gekko 1.0

Цитата:
Посмотреть сообщение Сообщение от Magvay :
Как же хорошо, что есть дома мультиметр, надо еще запасной купить
Есть другой, джедайский путь: купить фототранзистор и найти синий светодиод с каким-нибуь USB-UART переходником, и вбить что нужно или вручную, или скормив программатору поправленный .eep файл. fnksb вот всё не доберётся до этого, хотя у него уже всё давно есть.
INFERION вне форума   Ответить с цитированием Вверх
Старый 08.11.2021, 19:22   11
RatsM
Увлеченный
 
Регистрация: 13.08.2021
Последняя активность: 18.07.2023 15:12
Адрес: Черноземье
Сообщений: 197
Записей в дневнике: 1
Сказал(а) спасибо: 151
Поблагодарили: 72 раз(а) в 44 сообщениях

По умолчанию Re: Фикс прошивки Gekko 1.0

А на панде так же можно?
__________________
Astrolux MF01 Mini(SST20 4000K); ЯЛ Panda 4; Sofirn IF25, SP40(LH351D 3500K); Convoy S2+(XM-L2 4000K), 3x21A(SBT90.2), S2 UV, S2 RED; Manker E02 ll, E03H ll (SST20 4000K); Neboruit D10(LH351D 4000K TIR60); NITECORE TIP SE(2xOsram P8, 4500K); JETBEAM MINI ONE(XP-G3, 5400K); Lumintop B01(XPL HD, 3700K); Xiaomi USB Light 2(250 lm, 3700K).
Хочу:Acebeam L19, Manker MK34, Rovyvon S3, Fireflies NOV-Mu
RatsM вне форума   Ответить с цитированием Вверх
Старый 08.11.2021, 22:49 Автор темы   12
INFERION

 
Аватар для INFERION
 
Регистрация: 07.04.2013
Последняя активность: 13.06.2023 02:24
Адрес: Украина, Полтава
Сообщений: 5764
Сказал(а) спасибо: 340
Поблагодарили: 8154 раз(а) в 2385 сообщениях

По умолчанию Re: Фикс прошивки Gekko 1.0

RatsM, нет. Там только по проводу и немного другой протокол, требующий другого, более старого софта. Теоретически она так может, если место в памяти найти.
INFERION вне форума   Ответить с цитированием Вверх
Поблагодарили: 1 раз
RatsM (08.11.2021)
Старый 09.11.2021, 15:09 Автор темы   13
INFERION

 
Аватар для INFERION
 
Регистрация: 07.04.2013
Последняя активность: 13.06.2023 02:24
Адрес: Украина, Полтава
Сообщений: 5764
Сказал(а) спасибо: 340
Поблагодарили: 8154 раз(а) в 2385 сообщениях

По умолчанию Re: Фикс прошивки Gekko 1.0

Цитата:
Вы не можете отправить сообщение Admin, поскольку он(а) не разрешил(а) принимать личные сообщения, либо ему(ей) не разрешено это делать.
ЧХЗ? И на жалобу на сообщение не реагируют. Пытаюсь получить возможность править топик в своём же разделе, как и всегда, а тут ещё и администрация окуклилась...
INFERION вне форума   Ответить с цитированием Вверх
Старый 09.11.2021, 15:14   14
Товарищ генерал
Рядовой Фонаревки
 
Аватар для Товарищ генерал
 
Регистрация: 01.04.2021
Последняя активность: Вчера 15:34
Сообщений: 3132
Сказал(а) спасибо: 1894
Поблагодарили: 1092 раз(а) в 698 сообщениях

По умолчанию Re: Фикс прошивки Gekko 1.0

То то мне казалось, что давно Admin-а не видел
Товарищ генерал вне форума   Ответить с цитированием Вверх
Старый 09.11.2021, 15:27   15
Timofej 000
Обыкновенный новичок
 
Регистрация: 28.10.2018
Последняя активность: Вчера 21:21
Адрес: Сортавала
Сообщений: 2511
Сказал(а) спасибо: 11253
Поблагодарили: 1788 раз(а) в 967 сообщениях

По умолчанию Re: Фикс прошивки Gekko 1.0

Цитата:
Посмотреть сообщение Сообщение от INFERION :
Железо то может, памяти на это нет. Реализация уже есть, в т.ч. и с супермунлайтами (там же для этого в схеме отдельная цепь есть, но её обсчитывать сложно).
А вот это уже очень грустно. И уже точно не будет, так понимаю?
Timofej 000 вне форума   Ответить с цитированием Вверх
Старый 09.11.2021, 16:36 Автор темы   16
INFERION

 
Аватар для INFERION
 
Регистрация: 07.04.2013
Последняя активность: 13.06.2023 02:24
Адрес: Украина, Полтава
Сообщений: 5764
Сказал(а) спасибо: 340
Поблагодарили: 8154 раз(а) в 2385 сообщениях

По умолчанию Re: Фикс прошивки Gekko 1.0

Цитата:
Посмотреть сообщение Сообщение от Timofej 000 :
И уже точно не будет, так понимаю?
Почему? Есть же разговоры за какую-то лимитовку на 8кБ для фонарёвки? Ну или когда-то там перейдут, когда закончатся запасы 4кБ, если модель к тому моменту ещё будет актуальна... Ещё вариант - в этих вот 4кБ что-то выкинуть и добавить что нужнее. Тут сейчас ещё и память то не вся забита, просто сам движок Юника очень упрощён и не позволяет получать необходимые для мунлайта данные (напряжение, к примеру), а нормальный движок, как в Панде, уже не лезет одновременно с загрузчиком. Кстати да, загрузчик тоже можно ведь выкинуть и потерять возможность обновлять и конфигурировать без спец. шнурка и компа.
Главный вопрос тут в другом - а кто будет этим заниматься?
INFERION вне форума   Ответить с цитированием Вверх
Поблагодарили: 3 раз(а)
murashkin (21.11.2021), RatsM (16.11.2021), Timofej 000 (09.11.2021)
Старый 20.11.2021, 10:23   17
dandan2000
Ветеран Фонарёвки
 
Аватар для dandan2000
 
Регистрация: 11.07.2013
Последняя активность: 24.02.2022 14:47
Адрес: Киев
Сообщений: 1596
Сказал(а) спасибо: 27
Поблагодарили: 958 раз(а) в 488 сообщениях

По умолчанию Re: Фикс прошивки Gekko 1.0

Цитата:
Посмотреть сообщение Сообщение от INFERION :
ЧХЗ? И на жалобу на сообщение не реагируют. Пытаюсь получить возможность править топик в своём же разделе, как и всегда, а тут ещё и администрация окуклилась...
Тоже самое. Периодически пишу, но все в никуда.
dandan2000 вне форума   Ответить с цитированием Вверх
Поблагодарили: 1 раз
murashkin (21.11.2021)
Старый 20.11.2021, 11:42   18
AEDe
Ветеран Фонарёвки
 
Аватар для AEDe
 
Регистрация: 11.08.2011
Последняя активность: Вчера 21:54
Адрес: Дубна
Сообщений: 10412
Записей в дневнике: 1
Сказал(а) спасибо: 2539
Поблагодарили: 11447 раз(а) в 4199 сообщениях

По умолчанию Re: Фикс прошивки Gekko 1.0

INFERION, да медленный рампинг стал по приятнее.
А с загрузчиком не понял. Зажимаю кнопку. Горит слабый зеленый. Затем загорается сильно красный и больше ни на что не реагирует.

Скинь, пожалуйста, пример какой нибудь осмысленный чего залить через экран можно.
__________________
*

[Исправлено: AEDe, 20.11.2021 в 13:35]
AEDe вне форума   Ответить с цитированием Вверх
Поблагодарили: 1 раз
murashkin (21.11.2021)
Старый 20.11.2021, 14:23 Автор темы   19
INFERION

 
Аватар для INFERION
 
Регистрация: 07.04.2013
Последняя активность: 13.06.2023 02:24
Адрес: Украина, Полтава
Сообщений: 5764
Сказал(а) спасибо: 340
Поблагодарили: 8154 раз(а) в 2385 сообщениях

По умолчанию Re: Фикс прошивки Gekko 1.0

Цитата:
Посмотреть сообщение Сообщение от AEDe :
Затем загорается сильно красный и больше ни на что не реагирует.
После того как отпустил кнопку? Ты не написал что отпустил её, но судя по дальнейшей писанине - отпустил и потом начал в чувствительном режиме вертеть фонарь по всяким источникам света и он словил ошибку пакета (ну разумеется, вместо сигнала одни помехи). Это не страшно, как только он начнёт принимать исправный пакет (синхронизирует скорость и пройдёт проверку стартового условия) - красный погаснет. А дальше либо загорится красный (ошибка), либо зелёный (пакет принят успешно), либо одновременно и то и то (пакет принят без ошибок, но его содержимое некорректно).
Цитата:
Посмотреть сообщение Сообщение от AEDe :
и больше ни на что не реагирует
А на что он должен у тебя реагировать то? Он же на мусор каждый раз будет красный зажигать.
Цитата:
Посмотреть сообщение Сообщение от AEDe :
Скинь, пожалуйста, пример какой нибудь осмысленный чего залить через экран можно.
В топике есть гифка - она ничего не заливает, но тестирует нормально. Если с нею загорается красный и фонарь не отвечает - значит неправильно выбраны моменты показа гифки фонарю и/или яркость экрана низкая (мой комповый монитор, к примеру, не тянет, а вот ноутбучный уже тянет), и/или по пути к гифке фонарь ловит белый окружающий фон и пытается с ним синхронизироваться, пропуская начало "мультика". Гифку лучше крутить в телефоне в полноэкранном режиме через телеграм, чтоб фон был чёрный, иначе будет давать помехи мигающей гифке. Телега гифку зацикливает, поэтому легко поймать фонарём начало пакета и отвести его в конце.

Тут полезно иметь представления что такое UART. В частности, понимать что является стартовым и стоповым условием для него:

Данные через картинку передаются инверсно - нули это белые кадры.

Вот же ЯЛ выкладывал видосы как это выглядит:
Прямая ссылка на видео YouTube

[Исправлено: INFERION, 20.11.2021 в 16:02]
INFERION вне форума   Ответить с цитированием Вверх
Поблагодарили: 6 раз(а)
AEDe (20.11.2021), Drex (20.11.2021), grasl (20.11.2021), Magvay (21.11.2021), murashkin (21.11.2021), Timofej 000 (20.11.2021)
Старый 20.11.2021, 15:06   20
AEDe
Ветеран Фонарёвки
 
Аватар для AEDe
 
Регистрация: 11.08.2011
Последняя активность: Вчера 21:54
Адрес: Дубна
Сообщений: 10412
Записей в дневнике: 1
Сказал(а) спасибо: 2539
Поблагодарили: 11447 раз(а) в 4199 сообщениях

По умолчанию Re: Фикс прошивки Gekko 1.0

INFERION, а что должно происходить при прочтении этой гифки? Ну я навожу , оно мигает себе фонарь при этом ничего не делает, красный не загорается.
Так и должно быть?
AEDe вне форума   Ответить с цитированием Вверх
Поблагодарили: 2 раз(а)
Magvay (21.11.2021), murashkin (21.11.2021)
Ответ  Создать новую тему
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск





Copyright ©2007 - 2024, FONAREVKA.RU

Powered by vBulletin®
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd. Перевод: zCarot

Правила форума | Отказ от ответственности
Время генерации страницы 0.22957 секунды с 17 запросами