Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

jokeer
Сьогодні 19:27:10

і взагалі я б туди rgb led вкрутив. або хоча б 2-колірний . Було б красиво wink

jokeer
Сьогодні 19:12:12

>> А якщо вирізати частину, яка рахує кількість спрацювань насосу, це зробить стабільним пристрій?

Та хтозна. А в чому нестабільність?

>> if (millis() - btnModeNoVeryLongPressed > durationVeryLongPressMode)

Ну так і так millis переповниться через 50 днів. Чи для unsigned переповнення при відніманні не undefined behavior?

dimich
Сьогодні 19:09:25
stas_amp пише:

А якщо вирізати частину, яка рахує кількість спрацювань насосу, це зробить стабільним пристрій?

Так як точної причини глюку ми не знаєм, то перевірити це може тільки той, у кого є пристрій.

dimich
Сьогодні 18:59:58
jokeR пише:

Які є кращі ідеї? Є якийсь софтовий таймер, чи підпирати перевірками?

if (millis() - btnModeNoVeryLongPressed > durationVeryLongPressMode)
stas_amp
Сьогодні 18:47:35

Вчора так і не дістався до цієї грачки.

А якщо вирізати частину, яка рахує кількість спрацювань насосу, це зробить стабільним пристрій?

Якщо так, то я й сідушку підніму, щоб глянути, що там з мастилом.

Одне б що залишити, так це пам'ять вибраного редиму.
Це б не вадило.

Якщо можна, то виріжте той шмат.

Дякую.

jokeR
Сьогодні 17:33:13

@л@!
Не відтворилось.
Я здивований.
Тут ще можливо, що в мене якось в board urls було і digistump 1.6.7 (офіціально протухший), і 1.7.5 (неофіціально свіжий), різні репозиторіі, однакові назви.. хз.. Видалив всі, встановив тільки 1.7.5.. не відтворюється. Може @stas_amp це ще не виправив, і в нього ще все зламане wink

на 50-й день роботи

Для мотоцикла не думаю що це сильно актуально wink Які є кращі ідеї? Є якийсь софтовий таймер, чи підпирати перевірками?

dimich
Сьогодні 16:58:05

Доречі, в програмі є й інші баги, не повʼязані з сигналом на піні. Наприклад, конструкції типу

if (millis() > (durationVeryLongPressMode + btnModeNoVeryLongPressed))

на граничних значеннях (на 50-й день роботи smile) працюватимуть неправильно.

dimich
Сьогодні 16:32:16

@JokeR, вам же наче вдавалось відтворити баг? А можете зашарити .lst-файл прошивки, на якій баг стабільно відтворюється? IDE наче створює .lst при експорті бінарика і кладе його поряд.

jokeer
Сьогодні 09:13:19

Там цікава проблема, схоже, була в кривій реалізації eeprom в саме цьому BSP саме для Arduino IDE. При ініціалізації eeprom щось писалося не в ті регістри, і виходи переходили в дивний стан, коли логічні рівні якось міксуються як аналогові сигнали.
Ну, якщо лампочка буде трохи блимати, думаю це допустимо wink може так і задумано.

ard125
Вчора 23:28:13

Вставлю і я свої 3 копійки картинки  з логаналізатору big_smile

oil1.jpg

oil2.jpg

oil3.jpg

Як видно - ШИМ з частотою 5 кГц з’являється лише на РВ2 (LEDMode) при довгому натисканні кнопки.
Спробуйте тимчасово вимкнути в коді (закоментувати) все що стосується індикації

dimich
Вчора 16:57:03
stas_amp пише:

Якщо у Вас все це проінстальвано, й налаштовано, чи можна Вас попросити, скомпілювати прошивку, для проби?

Та льогко: DigiSpark_Oiler_Moto_hex.zip

jokeR
Вчора 16:45:37

Здається, platformio це таки ваше рішення wink Тупо зібралось, прошилось. На P1 нормальний 0, на P2 - іноді нормальні 5В імпульси. Без провалів. Дивно трохи - індикаторний LED прикрутити не до ноги з LED, а до іншої wink

 - framework-arduino-avr-digistump @ 1.7.2 
 - tool-micronucleus @ 1.250.210222 (2.50) 
 - toolchain-atmelavr @ 1.70300.191015 (7.3.0)

Походу, framework 1.7.5 що в arduino ide якийсь кривий. Зручно коли все автоматизовано, але коли автоматизовано криво то це ПЦ wink
Хоча platformio той ще ПЦ всередині wink Просто повезло.

stas_amp
Вчора 16:30:29
dimich пише:
stas_amp пише:

Тобто, я встановлюю цей софт, копіюю текст скетчу, вставляю скопійоване, додаю Arduino.h на початку, отримую hex, пишу його в плату, через програматор.
Так?

Як під віндою його ставити і користуватись не знаю, вибачте. Під лінухами я просто встановив пакет platformio-core з репозиторію.
Створюю директорію і проект в ній:

$ mkdir test-project
$ cd test-project
$ pio project init -b digispark-tiny

Копіюю ваш скетч в test-project/src/, дописую на початку "#include <Arduino.h>", збираю:

$ pio run

(а краще "pio run -v", щоб бачити, які команди воно викликає).
Для прошивки зазвичай достатньо

$ pio run -t upload

Для digispark-tiny, мабуть, повинно так само працювати. Принаймні у мене воно скачало й запустило micronucleus, просить підключити плату.

Всі налаштування в platformio.ini.
Бінарик, hex та інші артефакти лежать в .pio/build/digispark-tiny/


Дякую.

Якщо у Вас все це проінстальвано, й налаштовано, чи можна Вас попросити, скомпілювати прошивку, для проби?

Якщо можна, і щоб тут не загажувати тему, то перейдемо в особисті повідомлення, телеграм, або вайбер.

stas_amp
Вчора 16:26:38
jokeer пише:

Прийнято wink
А взагалі, як часто в цьому моті треба змащувати цеп? бо я ніколи не чув про таку проблему wink

Якщо мот спортивний, то там таке не використовують. Там миють кожну тисячу, і змащують липкою спеціальною мазутою, кожні 500 км.

На ендуро - там ніхто взагалі не робить, все одно цепу там хватає не на довго. Його від багна оббили, водою помили, й готово.

Мотоцикли для подорожей, там автозмазчик актуальний. Тому що кожен день мазать, а то й двічі на день, і мить щовечора, то дістане.
Тому, ставлять автозмазку. Вона автоматично подає звичайне трансмісійне масло. І цим маже цеп, і при швидкостях - центробіжною силою чисте від бруду.

В середньому розхід мастила для цепу, десь 50 - 60 грамів на тисячу кілометрів.

dimich
Вчора 15:00:03
stas_amp пише:

Тобто, я встановлюю цей софт, копіюю текст скетчу, вставляю скопійоване, додаю Arduino.h на початку, отримую hex, пишу його в плату, через програматор.
Так?

Як під віндою його ставити і користуватись не знаю, вибачте. Під лінухами я просто встановив пакет platformio-core з репозиторію.
Створюю директорію і проект в ній:

$ mkdir test-project
$ cd test-project
$ pio project init -b digispark-tiny

Копіюю ваш скетч в test-project/src/, дописую на початку "#include <Arduino.h>", збираю:

$ pio run

(а краще "pio run -v", щоб бачити, які команди воно викликає).
Для прошивки зазвичай достатньо

$ pio run -t upload

Для digispark-tiny, мабуть, повинно так само працювати. Принаймні у мене воно скачало й запустило micronucleus, просить підключити плату.

Всі налаштування в platformio.ini.
Бінарик, hex та інші артефакти лежать в .pio/build/digispark-tiny/

Підвал форуму