Страница 1 из 2

atmega328, шаблон проекта с режимом сна

Добавлено: Чт дек 03, 2020 09:25:19
sunjob
добрый день

набросал шаблон/скелет для проекта c режимом сна
критикуйте по делу, высказывайтесь, предлагайте

все под линух (скрипты, перенос строк, табуляция 2 символа)

скрипты для сборки, загрузки

Код: Выделить всё

_build.sh
_get_fuse.sh
_get_ver.sh
_prn_var.sh
_set_fuse.sh
_upload.sh
конф. файл, настройка проекта, окружения

Код: Выделить всё

make.conf
в архиве смените расширение txt -> tar.xz
спасибо :))

p.s. т.е это шаблон не рабочего проекта, а наоборот, первичная наработка/тест/шаблон для доработки рабочего проекта! хочу доработать рабочий проект на предмет powersafe/sleep режима, пытаюсь выяснить подводные моменты, критику от знающих, для доработки, правильного направления итд... пытаюсь разобраться со SLEEP / POWER SAFE / POWER DOWN, что-бы потом добавить эти наработки в работающий проект

все, не относящееся к теме, с огромным аппетитом и вниманием выслушаю в личке :tea:

tag: avr, avr-gcc, atmega328, template, sleep, powerdown

###!!! UPDATE !!!###

Re: atmega328, шаблон проекта с режимом сна

Добавлено: Чт дек 03, 2020 12:45:38
GoldenAndy
А по нормальному сюда выложить файлы не?
Или в тест поста под спойлер и тег code?

Кому нужны ваши приколы с переименованными архивами и линуксовым форматом?

Re: atmega328, шаблон проекта с режимом сна

Добавлено: Чт дек 03, 2020 13:23:06
sunjob
[uquote="GoldenAndy",url="/forum/viewtopic.php?p=3935167#p3935167"]А по нормальному ... не?[/uquote]
запятую забыли ... в архиве не один файл, а
это шаблон
там находится 11 файлов, все для того, что бы кому надо и кто интересуется мог бы скачать, собрать, и тут же прошить кантроллер
с переименованными архивами
попробуйте прицепить архив *.tar.xz?! :kill:
линуксовым форматом
ну уж, блин-мур, извините, сосисок для вас нема!
Кому нужны ваши приколы ...
видимо... не вам :)))

спасибо за мур-критику! :beer:

Re: atmega328, шаблон проекта с режимом сна

Добавлено: Чт дек 03, 2020 13:44:43
NStorm
зачем-то переименованные архивы
Это проблема форума, а не линукса. Движок форума не принимает .tar.xz, вот и пришлось ТС извращаться. А ZIP не умеет сохранять аттрибуты, хотя их важность тут мало важна.
А вообще ТС - освой гитхаб и выкладывай туда. Делов-то...

Добавлено after 1 minute 39 seconds:
PS: Критика - в ISR нет табуляции.

Re: atmega328, шаблон проекта с режимом сна

Добавлено: Чт дек 03, 2020 13:46:32
sunjob
[uquote="NStorm",url="/forum/viewtopic.php?p=3935231#p3935231"]освой гитхаб[/uquote]спасибо, пусть он без нас как ни будь... :))) для расшарки есть более логичные рессурсы... или не?! :dont_know:

все-таки, давайте к теме, не будем засоряться всякими расцарапками, шерстью и обертками :beer:

...
их важность тут мало важна
отчего же не важна, ванька ветров будет навешивать новогоднюю атрибутику? для того и сделано, что-бы распаковал, ткнул/собрал/прошил... :o
в ISR нет табуляции.
что именно? оно там нужно? без него не будет работать?!

Re: atmega328, шаблон проекта с режимом сна

Добавлено: Чт дек 03, 2020 14:24:46
GoldenAndy
sunjob, Ну вот честно.
Проект "ни о чём".

Тот, кто умеет читать даташит к меге328, слип сделает в несколько строк.
А новичку сидеть и думать, что у вас за что отвечает - грустно.
Особенно тем, кто не знает, чем открыть ваш sh-файл в их уютной винде.

Кроме того, подалвяющее большинство начинающих юзерей не знают, с чем нужно кушать ваш make.
У них или Абдурино ИДЕ, или какая то Атмел/АВР студия, или КодВижн.
Где make создается по умолчанию и пользователю он нафиг не нужен.

Код: Выделить всё

	#define WDT_WORK_PERIOD ( ( 0 << WDP2 ) | ( 1 << WDP2 ) | ( 1 << WDP1 ) | ( 0 << WDP0 ) ) // 1s
	#define WDT_MAX_PERIOD ( ( 1 << WDP3 ) | ( 1 << WDP2 ) | ( 1 << WDP1 ) | ( 1 << WDP0 ) ) // 8s


	void pwrGoDeepSleep(void){
		cli();
		//wdt off
		WDR;
		WDTCSR = ( 1 << WDCE ) | ( 1 << WDE ) | WDT_MAX_PERIOD;
		WDTCSR = ( 0 << WDCE ) | ( 0 << WDE ) | WDT_MAX_PERIOD;
		// set sleep mode
		SMCR &= ~( (1<<SM2) | (1<<SM1) | (1<<SM0) );// Clear SM[2:0] bits
		SMCR |= (1<<SE) | (0<<SM2) | (1<<SM1) | (0<<SM0);// SM[2:0]=010 - PowerDown
		// выкл периферии
		PRR = _BV(PRTWI) | _BV(PRSPI) | _BV(PRADC);
		//BOD disable
		uint8_t reg1 = MCUCR | _BV(BODS) | _BV(BODSE);
		uint8_t reg2 = reg1 & ~_BV(BODSE);
		MCUCR = reg1;
		MCUCR = reg2;
		sei();
		asm volatile ("sleep" : : ); // выход отсюда или по int0/1, или по собаке, если ее не выключать. Причем собака сделает резет.
		SMCR &= ~(1<<SE);
		PRR = _BV(PRTWI) | _BV(PRSPI);
		cli();
		// включаем собаку
		WDR;
		MCUSR &= ~( 1 << WDRF );
		WDTCSR = ( 1 << WDCE ) | ( 1 << WDE ) | WDT_WORK_PERIOD;
		WDTCSR = ( 0 << WDCE ) | ( 1 << WDE ) | WDT_WORK_PERIOD;
		sei();
	}
Добавлено after 7 minutes 3 seconds:
И да, я смотрел ваш проект.
Зачем юзеру ваши светодиоды, энкодер и таймеры?

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

Re: atmega328, шаблон проекта с режимом сна

Добавлено: Чт дек 03, 2020 14:32:53
sunjob
[uquote="GoldenAndy",url="/forum/viewtopic.php?p=3935250#p3935250"]sunjob, Ну вот честно-често-честно[/uquote]

заканчивайте с придирками, один раз еще вполне смешно, но сами знаете, дурацкая шутка, повторенная дважды...не становиться вдвойне смешнее :)))
Проект "ни о чём".
это не проект, читаем вниматТельно, да?!
шаблон/скелет для проекта
это шаблон не рабочего проекта, а наоборот, первичная наработка/тест/шаблон для доработки рабочего проекта, хочу выяснить подводные моменты, критику от знающих, для доработки, правильного направления итд...
Тот, кто умеет читать даташит к меге328
я не умею читать даташиты, я их царапаю :kill: и чЁ потом куда деЁтся? не знаю... :shock:
А новичку сидеть и думать...
Особенно тем, кто не знает...
еще раз читаем для чего топик и что от него ожидается?! вдумчиво, как даташиты ... :shock:
Кроме того, подалвяющее большинство начинающих юзерей не знают, с чем нужно кушать ваш make.
я вам больше скажу, что большинство просто подавиться от сЪедания моего makefile :))) потому-что его там нет
У них или Абдурино ИДЕ, или какая то Атмел/АВР студия, или КодВижн.
вот и славно, трам пайраммм :lol:
И да, я смотрел ваш проект...
спасибо, что снизошли :sleep:
Зачем юзеру ваши светодиоды...Лучше сделайте...
плохо смотрели, плохо читали, опять возвращаемся к началу, для чего топик?! :facepalm:


за код, спачибо, расцарапаем и его... :beer:

зы.
задача ставилась не прибить гвоздями к регистрам/битам а максимально "высокоуровнево" сделать функциями agr-gcc/toolchain (во всяком случае именно эту часть проекта, тк. тут просто тыкать по битам не получиться, нужно знать чуть больше, чуть глубже тему... надеюсь, вы понимаете о чем я?!)

зы2
WDR;
-->
tag: avr, avr-gcc

Re: atmega328, шаблон проекта с режимом сна

Добавлено: Чт дек 03, 2020 14:40:27
NStorm
[uquote="sunjob",url="/forum/viewtopic.php?p=3935235#p3935235"]спасибо, пусть он без нас как ни будь... :))) для расшарки есть более логичные рессурсы... или не?! :dont_know:[/uquote]
Не. Вот самый логичный ресурс для расшарки кода. А не вот эти вот переименновые архивы на форумах.

Re: atmega328, шаблон проекта с режимом сна

Добавлено: Чт дек 03, 2020 14:46:55
sunjob
фломатСеры не в этой теме :)))
все, не относящееся к теме, с огромным аппетитом и вниманием выслушаю в личке
зю
для расшарки кода
вместо того, что бы просто покушать вы мне предлогаете купить ресторан, вместе со всеме его поставщиками?!
давайте вже по теме?!

Re: atmega328, шаблон проекта с режимом сна

Добавлено: Чт дек 03, 2020 15:21:31
GoldenAndy
sunjob, Спорить с вами себе дороже. Так что оставайтесь со своими фломастерами. Если бы вы хотели максимально отвязаться от железа - не задрачивались бы на 328 меге, а сделали бы условную компиляцию под десяток самых распространенных Мег и одну процедуру. Безо всяких бесполезных 99% народа скриптов прошивки, сборки и т.д..
Я вам больше ничего не скажу. Если кому то из форумчан хватит сил и желания вашу простыню использовать себе в помощь - я только буду рад за них.
Hasta la vista.

Re: atmega328, шаблон проекта с режимом сна

Добавлено: Чт дек 03, 2020 15:33:44
sunjob
Спорить с вами
не надо со мной спорить, я предпоЧитаю вести вдумчивый диалог
сделали бы условную компиляцию под десяток самых распространенных Мег
Вы мне тоже предлагаете ресторан купить?! у меня не те мощности и обьемы
Если кому то из форумчан хватит сил и желания вашу простыню использовать себе в помощь
ВЫ не хотитет даже топик прочитать ВДУМЧИВО... я ни чем тут не торгую, ни чего ни кому не предлогаю, тем более, использовать мои простыни... бррр... расцарапать их всех...

и ВАМ не хворать, и ВАМ ваших любимых фломастеров и всего ВАМ замечательного... и ВАМ до встречи ...

p.s. на кухне, в уголке есть немного вкусненького :)))

Re: atmega328, шаблон проекта с режимом сна

Добавлено: Чт дек 03, 2020 15:47:39
oleg110592
./make.sh: 109: ./make.sh: source: not found
что доустановить?

Re: atmega328, шаблон проекта с режимом сна

Добавлено: Чт дек 03, 2020 15:51:54
sunjob
это внутренняя команда bash

т.к. у меня slackware, то по умолчанию

Код: Выделить всё

sh->bash
возможно, надо подправить скрипты

Код: Выделить всё

#!/bin/bash
надеюсь, я понятно обьяснил что/где подрихтовать?! :))

зы. через секунд заменю архив :music:

Re: atmega328, шаблон проекта с режимом сна

Добавлено: Чт дек 03, 2020 16:00:43
oleg110592
bash make.sh продвинулось дальше:
make.sh: строка 127: beep: команда не найдена
далее понятно, скомпилилось - можно не отвечать
Debian 10

Re: atmega328, шаблон проекта с режимом сна

Добавлено: Чт дек 03, 2020 16:16:51
sunjob
консольная команда для подачи звукового сигнала... (обычно ставлю в конце файла, как сигнал ВСЕ ОК)

Re: atmega328, шаблон проекта с режимом сна

Добавлено: Пн дек 07, 2020 17:26:06
sunjob
UPDATE
в архиве смените расширение txt -> tar.xz

Re: atmega328, шаблон проекта с режимом сна

Добавлено: Пн дек 07, 2020 18:14:38
GoldenAndy
От жеж любители удаления гланд через задницу....
Вот зачем тут архив в странном формате и телодвижения по переименованию?
Неужто тяжко выложить main.h, main.cpp и bits.h ?

Для тех, кто не догадался, что TXT - это TAR.GZ:
2020.12.07.ZIP
(10.06 КБ) 173 скачивания

Re: atmega328, шаблон проекта с режимом сна

Добавлено: Вт дек 08, 2020 08:58:20
Starichok51
sunjob, что за дурдом - подавать жалобу на самого себя, на собственное сообщение?

Re: atmega328, шаблон проекта с режимом сна

Добавлено: Вт дек 08, 2020 09:01:23
BlackKilkennyCat
"А что, так можно было?!" :shock: :)

Re: atmega328, шаблон проекта с режимом сна

Добавлено: Вт дек 08, 2020 09:32:29
NStorm
[uquote="sunjob",url="/forum/viewtopic.php?p=3935267#p3935267"]вместо того, что бы просто покушать вы мне предлогаете купить ресторан, вместе со всеме его поставщиками?!
давайте вже по теме?![/uquote]
Вместо того, чтобы кушать на улице, руками, стоя, держа тарелку в руках, я предлагаю вам сесть за стол и покушать нормально приборами. Никого покупать не надо. Надо просто зарегаться на гитхабе бесплатно и всё. Выложить код туда и просто дать ссылку. Чтобы любой мог даже с телефона его посмотреть. А выкладывание архивов, который надо скачать, переименовать и распаковать, а когда он обновится, проделывать всё заново... Ну да, дело-то не сложно, был бы проект нужным. А чтобы просто поглядеть... да ну нафиг, лениво, а с телефона вообще геморрой.