Страница 34 из 45

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

Добавлено: Сб фев 01, 2020 15:40:08
dgrett
Dimon, чаще всего первый и горит, не то фиолетовым не то розовым. Ресет не помогает. После сброса питания какое то время работает нормально. Другой светящийся пиксель видел только один раз.

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

Добавлено: Сб фев 01, 2020 18:04:42
Dimon456
dgrett, выше сообщением я написал как проверить, проверяйте.

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

Добавлено: Вт фев 11, 2020 15:19:06
dgrett
А как можно смешать цвета(RGB или по индексу)? Какова тут математика? Что то не получается.

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

Добавлено: Вт фев 11, 2020 17:09:40
ARV
Смешать практически никак нельзя.

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

Добавлено: Вт фев 11, 2020 17:30:01
dgrett
Лять... Грустно :(

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

Добавлено: Вт фев 11, 2020 18:56:42
ARV
Вы можете смешивать "чистые" цвета, например, синий с красным... Но смешать жёлтый с сиреневыми и получить... (кстати, что в этом случае вы хотели бы получить?) что-то отличное от белого, не выйдет. Во всяком случае в рамках математики скриптов.
Я пробовал...

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

Добавлено: Вт фев 11, 2020 19:07:01
dgrett
Я понимаю, что синий с красным даст магенту.
Однако, как это вычислить в скрипте? Я, конечно же, понимаю, что абсолютно точно рассчитать не получится. Я и не надеюсь на это, так как этого и не нужно. Однако приблизительно адекватный цвет получить хотелось бы. Ну, в смысле смешивая красный с зелёным не получить синий или циан.
P. S. И в каких координатах лучше считать? RGB или HSV?

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

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

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

Добавлено: Пн фев 17, 2020 18:07:11
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 функции.
Изображение

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

Добавлено: Пн фев 17, 2020 19:22:45
ARV
ничего не понял

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

Добавлено: Пн фев 17, 2020 19:43:17
Reflector
[uquote="ARV",url="/forum/viewtopic.php?p=3792440#p3792440"]ничего не понял[/uquote]
Переход на STM32 откладывается, потому что судя по всему Dimon456 выбрал в качестве стандартной либы такую, которая сразу несколько десятков KB для printf даже без поддержки float отжирает :)

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

Добавлено: Пн фев 17, 2020 19:58:37
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к кода.

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

Добавлено: Пн фев 17, 2020 20:02:53
Reflector
[uquote="Dimon456",url="/forum/viewtopic.php?p=3792461#p3792461"]Ладно, где-то был самодельный printf, что-то около 2к кода.[/uquote]
Поищи в настройках Newlib-nano.

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

Добавлено: Пн фев 17, 2020 21:18:05
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к.

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

Добавлено: Пт фев 21, 2020 21:37:04
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 (что было в протеусе).

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

Добавлено: Пт фев 21, 2020 21:43:56
Reflector
[uquote="Dimon456",url="/forum/viewtopic.php?p=3794716#p3794716"]Собрал проект полностью под такой контроллер[/uquote]
Там реально 32К флеша и есть TIM2, просто создаешь проект для F031F6.

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

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

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

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

Добавлено: Пт фев 21, 2020 22:55:37
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 раза дороже были.

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

Добавлено: Пт фев 21, 2020 23:04:23
ARV
Я не о теории спрашивал, а о практике, конкретно о работе Dimon456.

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

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

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

	rom (rx)  : ORIGIN = 0x08000000, LENGTH = 0x00004000
	rom (rx)  : ORIGIN = 0x08000000, LENGTH = 0x00008000