Плейер световых эффектов - помогите стать лучше
Re: Плейер световых эффектов - помогите стать лучше
Dimon, чаще всего первый и горит, не то фиолетовым не то розовым. Ресет не помогает. После сброса питания какое то время работает нормально. Другой светящийся пиксель видел только один раз.
Я всё-всё узнAю и стану профессором.
Re: Плейер световых эффектов - помогите стать лучше
dgrett, выше сообщением я написал как проверить, проверяйте.
Re: Плейер световых эффектов - помогите стать лучше
А как можно смешать цвета(RGB или по индексу)? Какова тут математика? Что то не получается.
Я всё-всё узнAю и стану профессором.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Плейер световых эффектов - помогите стать лучше
Смешать практически никак нельзя.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Плейер световых эффектов - помогите стать лучше
Лять... Грустно 
Я всё-всё узнAю и стану профессором.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Плейер световых эффектов - помогите стать лучше
Вы можете смешивать "чистые" цвета, например, синий с красным... Но смешать жёлтый с сиреневыми и получить... (кстати, что в этом случае вы хотели бы получить?) что-то отличное от белого, не выйдет. Во всяком случае в рамках математики скриптов.
Я пробовал...
Я пробовал...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Плейер световых эффектов - помогите стать лучше
Я понимаю, что синий с красным даст магенту.
Однако, как это вычислить в скрипте? Я, конечно же, понимаю, что абсолютно точно рассчитать не получится. Я и не надеюсь на это, так как этого и не нужно. Однако приблизительно адекватный цвет получить хотелось бы. Ну, в смысле смешивая красный с зелёным не получить синий или циан.
P. S. И в каких координатах лучше считать? RGB или HSV?
Однако, как это вычислить в скрипте? Я, конечно же, понимаю, что абсолютно точно рассчитать не получится. Я и не надеюсь на это, так как этого и не нужно. Однако приблизительно адекватный цвет получить хотелось бы. Ну, в смысле смешивая красный с зелёным не получить синий или циан.
P. S. И в каких координатах лучше считать? RGB или HSV?
Я всё-всё узнAю и стану профессором.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Плейер световых эффектов - помогите стать лучше
Смешивая "чистые" цвета (чистые - это состоящие только из одной компоненты) вы никогда не получите что-то странное! И делать это можно просто "вставляя" нужную компоненту в цвет.
Красный - FF0000
Синий - 0000FF
Складываем: FF00FF (сиреневый).
Красный - FF0000
Синий - 0000FF
Складываем: FF00FF (сиреневый).
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Плейер световых эффектов - помогите стать лучше
[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, проект "обрубленный" собрался, не стал голову ломать, чисто голая командная оболочка:цифру в 24924 видите? Всего 4 функции.

На 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'- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Плейер световых эффектов - помогите стать лучше
ничего не понял
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Плейер световых эффектов - помогите стать лучше
[uquote="ARV",url="/forum/viewtopic.php?p=3792440#p3792440"]ничего не понял[/uquote]
Переход на STM32 откладывается, потому что судя по всему Dimon456 выбрал в качестве стандартной либы такую, которая сразу несколько десятков KB для printf даже без поддержки float отжирает
Переход на STM32 откладывается, потому что судя по всему Dimon456 выбрал в качестве стандартной либы такую, которая сразу несколько десятков KB для printf даже без поддержки float отжирает
Re: Плейер световых эффектов - помогите стать лучше
Не знал, что бы напечатать Hello world потребуется 20к программного кода и 1к оперативки, похлеще ардуино будет.Ладно, где-то был самодельный printf, что-то около 2к кода.
Спойлер
Без 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'Re: Плейер световых эффектов - помогите стать лучше
[uquote="Dimon456",url="/forum/viewtopic.php?p=3792461#p3792461"]Ладно, где-то был самодельный printf, что-то около 2к кода.[/uquote]
Поищи в настройках Newlib-nano.
Поищи в настройках Newlib-nano.
Re: Плейер световых эффектов - помогите стать лучше
Кое как нашел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'Re: Плейер световых эффектов - помогите стать лучше
Собрал проект полностью под такой контроллер
с такими параметрами
#define BUF_SZ 512
#define PIXEL_CNT 254
получаетсяеще не знаю влезет или нет, компилятор раз не ругается - значит должно влезьте. В железе не проверял.
Без понятия подключиться к этому МК отладчик или нет, а то может придется отлаживать на STM32F103C8T6.
Использовал Xprintf от сюда, что еще примерно 1,5-2кБайта флеша дало. Пока без DMA, и АЦП не использовал.
Можно что нибудь еще сократить, к примеру что нибудь по удалять из файлика script_cmd.c
В протеусе наигрался с STM32F103T6 (что было в протеусе).
Спойлер

с такими параметрами
#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: Плейер световых эффектов - помогите стать лучше
[uquote="Dimon456",url="/forum/viewtopic.php?p=3794716#p3794716"]Собрал проект полностью под такой контроллер[/uquote]
Там реально 32К флеша и есть TIM2, просто создаешь проект для F031F6.
Там реально 32К флеша и есть TIM2, просто создаешь проект для F031F6.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Плейер световых эффектов - помогите стать лучше
лучше выкинуть все, что касается printf-ов, т.е. отладочные функции консольного управения - все равно толку от них никакого в плане эксплуатации. если уж говорить о портировании проекта, то надо сохранять совместимость, а значит, из script_cmd ничего выкидывать не стоит.Dimon456 писал(а):Можно что нибудь еще сократить, к примеру что нибудь по удалять из файлика script_cmd.c
любопытно было бы понять, насколько эффективнее STM32 в этом проекте. я тестировал быстродействие так: есть функция синхронизации, которая привязывает исполнение к интервалам по 10 мс. если в ней дрыгать портом, то при помощи осциллографа можно реально видеть, сколько времени тратится на исполнение скрипта, а сколько на ожидание (синхронизацию). AVR на 16 МГц без обращения к SD-карте в среднем нагружался скриптом на 2-4 мс, при том что 160 светодиодов еще отжирают никак не меньше 5 мс, то есть оставался запас в 1-2 мс. интересно, насколько больше свободного времени останется при использовании STM32?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Плейер световых эффектов - помогите стать лучше
[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 раза дороже были.
Сколько времени светодиоды отжирают, столько и будет, потому что пока 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: Плейер световых эффектов - помогите стать лучше
Я не о теории спрашивал, а о практике, конкретно о работе Dimon456.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Плейер световых эффектов - помогите стать лучше
Какой сюрпрайз !?Reflector писал(а):Там реально 32К флеша
STM Flash Loader запрашивает идентификатор чипа, и чем же вы программируете этот сюрпрайз?, как обходите ограничение?
А не проще подкорректировать файлик ld? Не ну если из-за TIM2.Reflector писал(а): и есть TIM2, просто создаешь проект для F031F6
Спойлер
Код: Выделить всё
rom (rx) : ORIGIN = 0x08000000, LENGTH = 0x00004000
rom (rx) : ORIGIN = 0x08000000, LENGTH = 0x00008000