Плейер световых эффектов - помогите стать лучше

Обсуждаем контроллеры компании Atmel.
dgrett
Вымогатель припоя
Сообщения: 615
Зарегистрирован: Вс дек 28, 2014 21:54:05

Re: Плейер световых эффектов - помогите стать лучше

Сообщение dgrett »

Dimon, чаще всего первый и горит, не то фиолетовым не то розовым. Ресет не помогает. После сброса питания какое то время работает нормально. Другой светящийся пиксель видел только один раз.
Я всё-всё узнAю и стану профессором.
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Плейер световых эффектов - помогите стать лучше

Сообщение Dimon456 »

dgrett, выше сообщением я написал как проверить, проверяйте.
dgrett
Вымогатель припоя
Сообщения: 615
Зарегистрирован: Вс дек 28, 2014 21:54:05

Re: Плейер световых эффектов - помогите стать лучше

Сообщение dgrett »

А как можно смешать цвета(RGB или по индексу)? Какова тут математика? Что то не получается.
Я всё-всё узнAю и стану профессором.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Плейер световых эффектов - помогите стать лучше

Сообщение ARV »

Смешать практически никак нельзя.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
dgrett
Вымогатель припоя
Сообщения: 615
Зарегистрирован: Вс дек 28, 2014 21:54:05

Re: Плейер световых эффектов - помогите стать лучше

Сообщение dgrett »

Лять... Грустно :(
Я всё-всё узнAю и стану профессором.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Плейер световых эффектов - помогите стать лучше

Сообщение ARV »

Вы можете смешивать "чистые" цвета, например, синий с красным... Но смешать жёлтый с сиреневыми и получить... (кстати, что в этом случае вы хотели бы получить?) что-то отличное от белого, не выйдет. Во всяком случае в рамках математики скриптов.
Я пробовал...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
dgrett
Вымогатель припоя
Сообщения: 615
Зарегистрирован: Вс дек 28, 2014 21:54:05

Re: Плейер световых эффектов - помогите стать лучше

Сообщение dgrett »

Я понимаю, что синий с красным даст магенту.
Однако, как это вычислить в скрипте? Я, конечно же, понимаю, что абсолютно точно рассчитать не получится. Я и не надеюсь на это, так как этого и не нужно. Однако приблизительно адекватный цвет получить хотелось бы. Ну, в смысле смешивая красный с зелёным не получить синий или циан.
P. S. И в каких координатах лучше считать? RGB или HSV?
Я всё-всё узнAю и стану профессором.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Плейер световых эффектов - помогите стать лучше

Сообщение ARV »

Смешивая "чистые" цвета (чистые - это состоящие только из одной компоненты) вы никогда не получите что-то странное! И делать это можно просто "вставляя" нужную компоненту в цвет.
Красный - FF0000
Синий - 0000FF
Складываем: FF00FF (сиреневый).
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Плейер световых эффектов - помогите стать лучше

Сообщение Dimon456 »

[uquote="Reflector",url="/forum/viewtopic.php?p=3766756#p3766756"][uquote="goldenandy",url="/forum/viewtopic.php?p=3766751#p3766751"]Данная матрица - очередной повод поупражняться в изучении СТМ32. Там и памяти хватает, и DMA есть для выплевывания данных в адреску. Кстати, через SPI. Я еще не знаю, может повторю идею вышеупомянутой лампы Алекса Гайвера....[/uquote]
На STM32 лучше выплевать через таймер + DMA, просто шимишь, а DMA периодически пишет в CCRx.[/uquote]Глянул я ваш СТМ32, проект "обрубленный" собрался, не стал голову ломать, чисто голая командная оболочка:
Спойлер

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

'Invoking: Cross ARM GNU Print Size'
arm-none-eabi-size --format=berkeley "stm32f103_prim.elf"
   text	   data	    bss	    dec	    hex	filename
  24924	   2244	    364	  27532	   6b8c	stm32f103_prim.elf
'Finished building: stm32f103_prim.siz'
цифру в 24924 видите? Всего 4 функции.
Изображение
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Плейер световых эффектов - помогите стать лучше

Сообщение ARV »

ничего не понял
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: Плейер световых эффектов - помогите стать лучше

Сообщение Reflector »

[uquote="ARV",url="/forum/viewtopic.php?p=3792440#p3792440"]ничего не понял[/uquote]
Переход на STM32 откладывается, потому что судя по всему Dimon456 выбрал в качестве стандартной либы такую, которая сразу несколько десятков KB для printf даже без поддержки float отжирает :)
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Плейер световых эффектов - помогите стать лучше

Сообщение Dimon456 »

Не знал, что бы напечатать Hello world потребуется 20к программного кода и 1к оперативки, похлеще ардуино будет.
СпойлерБез printf

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

'Invoking: Cross ARM GNU Print Size'
arm-none-eabi-size --format=berkeley "stm32f103_prim.elf"
   text	   data	    bss	    dec	    hex	filename
   2328	   1108	    304	   3740	    e9c	stm32f103_prim.elf
'Finished building: stm32f103_prim.siz'
Ладно, где-то был самодельный printf, что-то около 2к кода.
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: Плейер световых эффектов - помогите стать лучше

Сообщение Reflector »

[uquote="Dimon456",url="/forum/viewtopic.php?p=3792461#p3792461"]Ладно, где-то был самодельный printf, что-то около 2к кода.[/uquote]
Поищи в настройках Newlib-nano.
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Плейер световых эффектов - помогите стать лучше

Сообщение Dimon456 »

Reflector писал(а):Поищи в настройках Newlib-nano.
Кое как нашел
СпойлерБез включенной

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

'Invoking: Cross ARM GNU Print Size'
arm-none-eabi-size --format=berkeley "stm32f103_prim.elf"
   text	   data	    bss	    dec	    hex	filename
  24924	   2244	    364	  27532	   6b8c	stm32f103_prim.elf
'Finished building: stm32f103_prim.siz'
С включенной

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

'Invoking: Cross ARM GNU Print Size'
arm-none-eabi-size --format=berkeley "stm32f103_prim.elf"
   text	   data	    bss	    dec	    hex	filename
   6376	    140	    320	   6836	   1ab4	stm32f103_prim.elf
'Finished building: stm32f103_prim.siz'
Все равно многовато, на AVR этот код занимает 3к.
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Плейер световых эффектов - помогите стать лучше

Сообщение Dimon456 »

Собрал проект полностью под такой контроллер
СпойлерИзображение
с такими параметрами
#define BUF_SZ 512
#define PIXEL_CNT 254
получается

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

Program Size:
      text	   data	    bss	    dec	    hex	filename
     15676	    668	   1964	  18308	   4784	proekt_digit_stm32f030x.elf
еще не знаю влезет или нет, компилятор раз не ругается - значит должно влезьте. В железе не проверял.
Без понятия подключиться к этому МК отладчик или нет, а то может придется отлаживать на STM32F103C8T6.
Использовал Xprintf от сюда, что еще примерно 1,5-2кБайта флеша дало. Пока без DMA, и АЦП не использовал.
Можно что нибудь еще сократить, к примеру что нибудь по удалять из файлика script_cmd.c
В протеусе наигрался с STM32F103T6 (что было в протеусе).
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: Плейер световых эффектов - помогите стать лучше

Сообщение Reflector »

[uquote="Dimon456",url="/forum/viewtopic.php?p=3794716#p3794716"]Собрал проект полностью под такой контроллер[/uquote]
Там реально 32К флеша и есть TIM2, просто создаешь проект для F031F6.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Плейер световых эффектов - помогите стать лучше

Сообщение ARV »

Dimon456 писал(а):Можно что нибудь еще сократить, к примеру что нибудь по удалять из файлика script_cmd.c
лучше выкинуть все, что касается printf-ов, т.е. отладочные функции консольного управения - все равно толку от них никакого в плане эксплуатации. если уж говорить о портировании проекта, то надо сохранять совместимость, а значит, из script_cmd ничего выкидывать не стоит.

любопытно было бы понять, насколько эффективнее STM32 в этом проекте. я тестировал быстродействие так: есть функция синхронизации, которая привязывает исполнение к интервалам по 10 мс. если в ней дрыгать портом, то при помощи осциллографа можно реально видеть, сколько времени тратится на исполнение скрипта, а сколько на ожидание (синхронизацию). AVR на 16 МГц без обращения к SD-карте в среднем нагружался скриптом на 2-4 мс, при том что 160 светодиодов еще отжирают никак не меньше 5 мс, то есть оставался запас в 1-2 мс. интересно, насколько больше свободного времени останется при использовании STM32?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: Плейер световых эффектов - помогите стать лучше

Сообщение Reflector »

[uquote="ARV",url="/forum/viewtopic.php?p=3794735#p3794735"]AVR на 16 МГц без обращения к SD-карте в среднем нагружался скриптом на 2-4 мс, при том что 160 светодиодов еще отжирают никак не меньше 5 мс, то есть оставался запас в 1-2 мс. интересно, насколько больше свободного времени останется при использовании STM32?[/uquote]
Сколько времени светодиоды отжирают, столько и будет, потому что пока DMA передает старые данные будут успевать подготовиться новые. На каждые 8 бит нужно 9.6 us, эти мелкие мк гонятся до 96 MHz, таблица для 8 бит во флеше будет занимать 8*256 = 2КБ, натравливаешь на нее DMA и почти 1000 тактов делать нечего... Ну или заполняешь массив в RAM любого размера... Кстати пару месяцев назад брал мелкие F070F6P6 по $0.5, там 6КБ RAM и USB, правда с USB можно только от 48 MHz затактировать, или брать F042, но они в 2 раза дороже были.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Плейер световых эффектов - помогите стать лучше

Сообщение ARV »

Я не о теории спрашивал, а о практике, конкретно о работе Dimon456.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Плейер световых эффектов - помогите стать лучше

Сообщение Dimon456 »

Reflector писал(а):Там реально 32К флеша
Какой сюрпрайз !?
STM Flash Loader запрашивает идентификатор чипа, и чем же вы программируете этот сюрпрайз?, как обходите ограничение?
Reflector писал(а): и есть TIM2, просто создаешь проект для F031F6
А не проще подкорректировать файлик ld? Не ну если из-за TIM2.
Спойлер

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

	rom (rx)  : ORIGIN = 0x08000000, LENGTH = 0x00004000
	rom (rx)  : ORIGIN = 0x08000000, LENGTH = 0x00008000
Ответить

Вернуться в «AVR»