Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
- 240265
- Электрический кот
- Сообщения: 1029
- Зарегистрирован: Сб мар 09, 2013 11:29:22
- Откуда: 40RUS, Жуков
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
mihlit2, Лучше использовать волее дешевый vet6 или в Вашем проекте использовать только ноги 100 пинового (если кто то повторять соберется).
AD9226 уж слишком дорогой , даже в Китае. Тогда уж AD9283 или AD9288 (можно зарядить 2 АЦП в интерливе, как у GFX).
AD8056 годится только во втором каскаде , для входа у него маленькое входное сопротивление (я пытался). Советую в чип-дипе заказать AD8066 или , лучше, opa2354, у них вроде бы " честные".
AD9226 уж слишком дорогой , даже в Китае. Тогда уж AD9283 или AD9288 (можно зарядить 2 АЦП в интерливе, как у GFX).
AD8056 годится только во втором каскаде , для входа у него маленькое входное сопротивление (я пытался). Советую в чип-дипе заказать AD8066 или , лучше, opa2354, у них вроде бы " честные".
IVL ex UA6PJ
- Реклама
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
[uquote="240265",url="/forum/viewtopic.php?p=3890979#p3890979"]mihlit2, Лучше использовать волее дешевый vet6 или в Вашем проекте использовать только ноги 100 пинового (если кто то повторять соберется).
AD9226 уж слишком дорогой , даже в Китае. Тогда уж AD9283 или AD9288 (можно зарядить 2 АЦП в интерливе, как у GFX).
AD8056 годится только во втором каскаде , для входа у него маленькое входное сопротивление (я пытался). Советую в чип-дипе заказать AD8066 или , лучше, opa2354, у них вроде бы " честные".[/uquote]
А у меня и VET6 есть. Было дело заказал на Али борду с VET6, продавец сроки пропустил, я спор затеял, мне деньги вернули, а через неделю посылка и пришла. Я снова в магазин написал заказал ZET6, только говорю не надо присылать, я вам хочу деньги вернуть. А они мне вторую плату прислали, вот их у меня теперь две.
На AD9226 я сына раскрутил, вроде подарок на днюху, так что тоже бесплатно.
Я обитаю в Бишкеке, Киргизия. Чип-Дип сюда не посылает заказы (я связывался с ними). A насчет AD8056 спасибо за инфу, только теперь непонятно где детали брать. На форуме настоятельно рекомендуют из Китая ОУ не брать, очень много подделок.
AD9226 уж слишком дорогой , даже в Китае. Тогда уж AD9283 или AD9288 (можно зарядить 2 АЦП в интерливе, как у GFX).
AD8056 годится только во втором каскаде , для входа у него маленькое входное сопротивление (я пытался). Советую в чип-дипе заказать AD8066 или , лучше, opa2354, у них вроде бы " честные".[/uquote]
А у меня и VET6 есть. Было дело заказал на Али борду с VET6, продавец сроки пропустил, я спор затеял, мне деньги вернули, а через неделю посылка и пришла. Я снова в магазин написал заказал ZET6, только говорю не надо присылать, я вам хочу деньги вернуть. А они мне вторую плату прислали, вот их у меня теперь две.
На AD9226 я сына раскрутил, вроде подарок на днюху, так что тоже бесплатно.
Я обитаю в Бишкеке, Киргизия. Чип-Дип сюда не посылает заказы (я связывался с ними). A насчет AD8056 спасибо за инфу, только теперь непонятно где детали брать. На форуме настоятельно рекомендуют из Китая ОУ не брать, очень много подделок.
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
Вы правильно догадались - архив я не качал.
а вывод думаю можно ускорить, если нужно.
получалось и за 3мс окно обновлять на железе dso138 (естественно, не считая время заполнения буфера),
2 но: минимум математики и "симметричный" цвет (старший младший байты =), разумеется при fsmc в этом нет нужды.
а вывод думаю можно ускорить, если нужно.
получалось и за 3мс окно обновлять на железе dso138 (естественно, не считая время заполнения буфера),
2 но: минимум математики и "симметричный" цвет (старший младший байты =), разумеется при fsmc в этом нет нужды.
- 240265
- Электрический кот
- Сообщения: 1029
- Зарегистрирован: Сб мар 09, 2013 11:29:22
- Откуда: 40RUS, Жуков
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
да "симметричный" цвет здорово спасает , на мурзике так и сделано.
Добавлено after 1 minute 56 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
загоняю данные ассемблером в порт и 2 строба записи на CMSIS.
Добавлено after 1 minute 56 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
загоняю данные ассемблером в порт и 2 строба записи на CMSIS.
IVL ex UA6PJ
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
[uquote="a797945",url="/forum/viewtopic.php?p=3890998#p3890998"]Вы правильно догадались - архив я не качал.
а вывод думаю можно ускорить, если нужно.
получалось и за 3мс окно обновлять на железе dso138 (естественно, не считая время заполнения буфера),
2 но: минимум математики и "симметричный" цвет (старший младший байты =), разумеется при fsmc в этом нет нужды.[/uquote]
Я проект выложил для ознакомления. Ради Бога не подумайте, чтобы типа повыделываться.
Сейчас посмотрел ЛА скорость обновления экрана - 2 раза по 19 ms, хотя должно быть 2 раза по 9. Размер буфера 64K 16bit. Буду разбираться
Добавлено after 13 minutes 37 seconds:
[uquote="240265",url="/forum/viewtopic.php?p=3891027#p3891027"]да "симметричный" цвет здорово спасает , на мурзике так и сделано.
Добавлено after 1 minute 56 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
загоняю данные ассемблером в порт и 2 строба записи на CMSIS.[/uquote]
Так может без DCMI тогда, а на ассемблере внешнее АЦП опрашивать? Я к тому, что у VET6 нет DCMI. Можно будет вернуться на VET6, я же с него начинал.
а вывод думаю можно ускорить, если нужно.
получалось и за 3мс окно обновлять на железе dso138 (естественно, не считая время заполнения буфера),
2 но: минимум математики и "симметричный" цвет (старший младший байты =), разумеется при fsmc в этом нет нужды.[/uquote]
Я проект выложил для ознакомления. Ради Бога не подумайте, чтобы типа повыделываться.
Сейчас посмотрел ЛА скорость обновления экрана - 2 раза по 19 ms, хотя должно быть 2 раза по 9. Размер буфера 64K 16bit. Буду разбираться
Добавлено after 13 minutes 37 seconds:
[uquote="240265",url="/forum/viewtopic.php?p=3891027#p3891027"]да "симметричный" цвет здорово спасает , на мурзике так и сделано.
Добавлено after 1 minute 56 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
загоняю данные ассемблером в порт и 2 строба записи на CMSIS.[/uquote]
Так может без DCMI тогда, а на ассемблере внешнее АЦП опрашивать? Я к тому, что у VET6 нет DCMI. Можно будет вернуться на VET6, я же с него начинал.
- Реклама
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
на асму я не сподвигся.
в одном моменте принудил компилятор использовать только регистры, а не память. он сам об этом почему-то никак не хотел догадаться.
не могу выложить исходники, это мне надо сначала спросить разрешение у автора тех исходников от которых сам начинал плясать.
а в двух словах: минимум математики, минимум цветов, минимум if()
а если всю функцию на асму - была б еще быстрей.
в одном моменте принудил компилятор использовать только регистры, а не память. он сам об этом почему-то никак не хотел догадаться.
не могу выложить исходники, это мне надо сначала спросить разрешение у автора тех исходников от которых сам начинал плясать.
а в двух словах: минимум математики, минимум цветов, минимум if()
а если всю функцию на асму - была б еще быстрей.
- 240265
- Электрический кот
- Сообщения: 1029
- Зарегистрирован: Сб мар 09, 2013 11:29:22
- Откуда: 40RUS, Жуков
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
Про DCMI речи не было, на ассемблере внешнее АЦП опрашивать нужно только на самых скоростных развертках и интерлив так же , только где это необходимо . Остальное можно переходить на одно АЦП и соответственно DMA-таймер.
IVL ex UA6PJ
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
[uquote="240265",url="/forum/viewtopic.php?p=3891101#p3891101"]на ассемблере внешнее АЦП опрашивать нужно только на самых скоростных развертках[/uquote]
На ассемблере внешнее АЦП опрашивать имеет смысл только на F3, где такой способ действительно быстрее, а для F4 будут те же 4 такта, что и для DMA, только без возможности усыпить мк и таким образом уменьшить помехи.
На ассемблере внешнее АЦП опрашивать имеет смысл только на F3, где такой способ действительно быстрее, а для F4 будут те же 4 такта, что и для DMA, только без возможности усыпить мк и таким образом уменьшить помехи.
- 240265
- Электрический кот
- Сообщения: 1029
- Зарегистрирован: Сб мар 09, 2013 11:29:22
- Откуда: 40RUS, Жуков
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
Там не нужно много ассемблера.
вот как я вывожу
for (uint16_t j = 1; j < 384; j++) {
for (uint16_t i = 1; i < 240; i++) {
uint8_t color = 0;
if ((i==24|i==48|i==72|i==96|i==120|i==144|i==168|i==192|i==216) ) {color = 16;}// Grid
if ((j==24|j==48|j==72|j==96|j==120|j==144|j==168|j==192|j==216|j==240|j==264|j==288|j==312|j==336|j==360) ) {color = 16;}// Grid
if ((i==120)|(j==192)) {color = 4;} //i==96+32 Centr
if (OSD==1) {
if (i == SynU) {color = 54;}
if (i == U_0) {color = 231;}
}
.
.
.
Вывод осцилограммы color = 255;
.
.
__asm {
STRB color,[#0x48000415]
}
WR_STROBE; //импульс на WR ILI9486
WR_STROBE; // #define WR_STROBE {GPIOB->BRR = 0x20; GPIOB->BSRR = 0x20;}
Извини "Вывод осцилограммы" не мой код.
Это на F303 120MHz тактовая.
Добавлено after 32 minutes 50 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
Щас посмотрел , вывод всего этого аж 200 милисекунд.
Добавлено after 2 minutes 14 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
Убрал OSD и Centr стало 170.
Добавлено after 55 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
т.е. только сетка и сигнал.
Добавлено after 20 minutes 14 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
40 милисекунд только сигнал, даже без сетки. Так что IF отжирает капитально.
вот как я вывожу
for (uint16_t j = 1; j < 384; j++) {
for (uint16_t i = 1; i < 240; i++) {
uint8_t color = 0;
if ((i==24|i==48|i==72|i==96|i==120|i==144|i==168|i==192|i==216) ) {color = 16;}// Grid
if ((j==24|j==48|j==72|j==96|j==120|j==144|j==168|j==192|j==216|j==240|j==264|j==288|j==312|j==336|j==360) ) {color = 16;}// Grid
if ((i==120)|(j==192)) {color = 4;} //i==96+32 Centr
if (OSD==1) {
if (i == SynU) {color = 54;}
if (i == U_0) {color = 231;}
}
.
.
.
Вывод осцилограммы color = 255;
.
.
__asm {
STRB color,[#0x48000415]
}
WR_STROBE; //импульс на WR ILI9486
WR_STROBE; // #define WR_STROBE {GPIOB->BRR = 0x20; GPIOB->BSRR = 0x20;}
Извини "Вывод осцилограммы" не мой код.
Это на F303 120MHz тактовая.
Добавлено after 32 minutes 50 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
Щас посмотрел , вывод всего этого аж 200 милисекунд.
Добавлено after 2 minutes 14 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
Убрал OSD и Centr стало 170.
Добавлено after 55 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
т.е. только сетка и сигнал.
Добавлено after 20 minutes 14 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
40 милисекунд только сигнал, даже без сетки. Так что IF отжирает капитально.
IVL ex UA6PJ
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
мы оба знаем чей код
этот кусок до неузнаваемости изменился у меня, поэтому позволю себе его опубликовать.
кстати буду благодарен за конструктивную критику (не ахти из меня прогер)
железо, если точнее -dso138mini, легкий разгон -112MGz. осцил. у меня там бонусем - чисто показыватель, поэтому ку первого ОУ изменил, а математику упростил (ниже плинтуса).
этот кусок до неузнаваемости изменился у меня, поэтому позволю себе его опубликовать.
кстати буду благодарен за конструктивную критику (не ахти из меня прогер)
железо, если точнее -dso138mini, легкий разгон -112MGz. осцил. у меня там бонусем - чисто показыватель, поэтому ку первого ОУ изменил, а математику упростил (ниже плинтуса).
Спойлер
Код: Выделить всё
void Draw320x192(uint16_t *buffer, uint16_t PointSync){
LCD_CS0;
window(Orient_Book, 25, 215-25, 0, 317-0);
SendCMD(ILI9341_GRAM);
volatile uint8_t n, o; //, a, b;
register int ar __asm("r3");
register int br __asm("r6");
uint8_t z;
n=(buffer[PointSync-1]/8-128); // -64
for (uint16_t j = 1; j < 319; j++) { // time
o=n;
n=((buffer[j+PointSync]>>3)-128); //-64
if ( n >= o ) {ar=o; br=n;} else { ar=n; br=o; }
if (!(j&31)) {
for (uint8_t i = 0; i < 191; i++) {
((i<ar)||(i>br))?(z=GRID):(z=WHITE);
GPIOB->BSRR = (0x00FF0000 | z);
WR_STROBE; WR_STROBE; }
}
else {
for (uint8_t i = 0; i < 191; i++) {
(!(i&31))?(z=GRID):(z=BLACK);
if(!((i<ar)||(i>br))) {z =WHITE;}
GPIOB->BSRR = (0x00FF0000 | z);
WR_STROBE; WR_STROBE; }
}
} // j
LCD_CS1;
}
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
Прошу пардону про DCMI у VET6. Есть DCMI, только я сам не понимаю, почему забросил VET6 и начал проект с ZET6. Сейчас начну искать старый проект.
- 240265
- Электрический кот
- Сообщения: 1029
- Зарегистрирован: Сб мар 09, 2013 11:29:22
- Откуда: 40RUS, Жуков
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
mihlit2, "у VET6 нет DCMI" куб говорит что есть и даташит тоже.
Добавлено after 3 minutes 10 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
a797945, CS можно на ноль посадить и с ним не заморачиваться.
Добавлено after 3 minutes 10 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
a797945, CS можно на ноль посадить и с ним не заморачиваться.
IVL ex UA6PJ
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
на ваши цифры посмотрел, в своей засомневался
мерил так, без пристрастия, просто сам механизм измерения времени выполнения посмотреть.
и не повторить пока - тот комп на половину щас разобран.
"CS можно на ноль посадить и с ним не заморачиваться"
вполне возможно, только думаю надо проверять на конкретном стекле.
в этом dso не ili9341, а какой-то аналог, ладно основные команды совпали
мерил так, без пристрастия, просто сам механизм измерения времени выполнения посмотреть.
и не повторить пока - тот комп на половину щас разобран.
"CS можно на ноль посадить и с ним не заморачиваться"
вполне возможно, только думаю надо проверять на конкретном стекле.
в этом dso не ili9341, а какой-то аналог, ладно основные команды совпали
- 240265
- Электрический кот
- Сообщения: 1029
- Зарегистрирован: Сб мар 09, 2013 11:29:22
- Откуда: 40RUS, Жуков
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
a797945, Спасибо из Вашего кода узнал про Тернарные операции .
Добавлено after 1 minute 36 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
Вроде в дсо138 ili9341, я в него часы запихивал.
Добавлено after 13 minutes 44 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
mihlit2, Вы профиль полностью заполните.
Добавлено after 43 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
a797945, к стати тоже.
Добавлено after 6 minutes 50 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
mihlit2, я брал opa2354 на алике партией по 10 шт в мелкх корпусах (с шагом 0,5мм). Оказались все нормальные. Правда сейчас этот магазин закрыт, говорят временно https://aliexpress.ru/item/32490476216. ... ent=815660
Добавлено after 57 minutes 3 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
Переделал сетку
if (!(i%24)) {color = 16;}// Grid
if (!(j%24)) {color = 16;}// Grid
Время отрисовки стало 85 мСек
Добавлено after 1 minute 36 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
Вроде в дсо138 ili9341, я в него часы запихивал.
Добавлено after 13 minutes 44 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
mihlit2, Вы профиль полностью заполните.
Добавлено after 43 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
a797945, к стати тоже.
Добавлено after 6 minutes 50 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
mihlit2, я брал opa2354 на алике партией по 10 шт в мелкх корпусах (с шагом 0,5мм). Оказались все нормальные. Правда сейчас этот магазин закрыт, говорят временно https://aliexpress.ru/item/32490476216. ... ent=815660
Добавлено after 57 minutes 3 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
Переделал сетку
if (!(i%24)) {color = 16;}// Grid
if (!(j%24)) {color = 16;}// Grid
Время отрисовки стало 85 мСек
IVL ex UA6PJ
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
"if (!(i%24)) ..."
красиво, а во что это компилируется?
красиво, а во что это компилируется?
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
[uquote="a797945",url="/forum/viewtopic.php?p=3891259#p3891259"]"if (!(i%24)) ..."
красиво, а во что это компилируется?[/uquote]
Даже при наличии аппаратного деления скомпилируется в достаточно тяжелую функцию, по крайней мере на gcc. Эффективнее умножать, например, выделим под дробную часть 20 бит, тогда 1/24 у нас будет равна 0x100000 / 24 = ~43691. Умножение на это число и сдвиг на 20 бит равносильно делению на 24.
В таком виде у меня на F303/120MHz время выполнения 23.5 ms, а для двух отдельных проверок со взятием остатка от деления - 40.5 ms. Кстати цвет тут не симметричный, но либа дисплея написана так, что пытается совмещать сброс WR с записью данных если то и другое относится к одном порту, т.е. при отправке двух байт цвета будет всего 4 записи в BSRR, а у вас смотрю 4 записи потребуется только для пары стробов.
красиво, а во что это компилируется?[/uquote]
Даже при наличии аппаратного деления скомпилируется в достаточно тяжелую функцию, по крайней мере на gcc. Эффективнее умножать, например, выделим под дробную часть 20 бит, тогда 1/24 у нас будет равна 0x100000 / 24 = ~43691. Умножение на это число и сдвиг на 20 бит равносильно делению на 24.
Код: Выделить всё
lcd::setWindow(0, 0, 383, 239);
for (uint32_t j = 1; j < 240; j++)
{
for (uint16_t i = 1; i < 384; i++)
{
uint16_t color = Color::White;
if (!(i - (i * 43691 >> 20) * 24) || !(j - (j * 43691 >> 20) * 24)) color = Color::Magenta;
lcd::writeColor(color);
}
}Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
кабы были б они на одном порту, может я и ломал голову как совместить
да в том dso wr,cs.rs на другом.
и максимальную скорость задачей не ставил, если б ставил - перебросил линии и рубился б в асме на максимальное использование регистров и минимальное переходов. как то так.
да в том dso wr,cs.rs на другом.
и максимальную скорость задачей не ставил, если б ставил - перебросил линии и рубился б в асме на максимальное использование регистров и минимальное переходов. как то так.
- 240265
- Электрический кот
- Сообщения: 1029
- Зарегистрирован: Сб мар 09, 2013 11:29:22
- Откуда: 40RUS, Жуков
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
if (!(i%24)) {color = 16;}// Grid
if (!(j%24)) {color = 16;}// Grid
85 mS
if (!(i - (i * 43691 >> 20) * 24) || !(j - (j * 43691 >> 20) * 24)) color = 16;
79ms
Добавлено after 3 minutes 31 second:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
Если убрать отрисовку ОСД
// if (OSD==1) {
// if (i == SynU) {color = 54;}
// if (i == U_0) {color = 231;}
// }
57mS
Добавлено after 2 minutes 6 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
Но с ней наглядней видно уровень "0" и уровень синхронизации.
if (!(j%24)) {color = 16;}// Grid
85 mS
if (!(i - (i * 43691 >> 20) * 24) || !(j - (j * 43691 >> 20) * 24)) color = 16;
79ms
Добавлено after 3 minutes 31 second:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
Если убрать отрисовку ОСД
// if (OSD==1) {
// if (i == SynU) {color = 54;}
// if (i == U_0) {color = 231;}
// }
57mS
Добавлено after 2 minutes 6 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
Но с ней наглядней видно уровень "0" и уровень синхронизации.
IVL ex UA6PJ
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
если скорость отрисовки не делать самоцелью, то какая разница 200 или 80 мс.
я упрощал потому, что:
-украшательства/красивости мне не нужны,
-эта же функция у меня используется и на медленных развертках,
-и чтоб размер прошивки уложить в 32к (там монитор двухполярной линии данных (у нас кличут arinc)+осцил(как бонус)).
поэтому и : нейтрали (не выделены) всегда в середине сетки, маркер ур.синхронизации крохотный вне сетки.
а финт с регистрами - мне не понравилось, что компилятор создавал переменные в памяти, в чем никакой потребности не было, мозгов написать красиво у меня не нашлось, вот и вкарячил такой костыль.
еще один финт ушами у меня тут:
сделал две ветки, одна где проверка на 3 цвета, вторая проверяет только на 2 (белый/зеленый); типа - появилось 318 лишних проверок, но 191х9 проверок уже не будет.
я упрощал потому, что:
-украшательства/красивости мне не нужны,
-эта же функция у меня используется и на медленных развертках,
-и чтоб размер прошивки уложить в 32к (там монитор двухполярной линии данных (у нас кличут arinc)+осцил(как бонус)).
поэтому и : нейтрали (не выделены) всегда в середине сетки, маркер ур.синхронизации крохотный вне сетки.
а финт с регистрами - мне не понравилось, что компилятор создавал переменные в памяти, в чем никакой потребности не было, мозгов написать красиво у меня не нашлось, вот и вкарячил такой костыль.
еще один финт ушами у меня тут:
сделал две ветки, одна где проверка на 3 цвета, вторая проверяет только на 2 (белый/зеленый); типа - появилось 318 лишних проверок, но 191х9 проверок уже не будет.
Последний раз редактировалось a797945 Сб сен 12, 2020 13:08:08, всего редактировалось 1 раз.


