Open ko10ok opened 9 years ago
nope! We will use some extramultiextendedoverpowered define! Stop making this terible code!
gimme =))
В чём смысл этого issue?
@dubkov, в том что мне сказали что массовую запись в пины можно производить на этапе препроцессора, вместо кода. Таким образом жду пока сделают и закроют)
PS если неактуально или я не понял чего, то просто закрыть за инвалидностью)
мне сказали что массовую запись в пины можно производить на этапе препроцессора, вместо кода. Таким образом жду пока сделают и закроют)
А, ну это я тоже жду, когда сделают. :smiley:
В рамках #11.
@dubkov Хочу множественную запись в пины. Что-то типа pins(0,1,2,3,4,5)=0b010101 или даже так: pins(0...5)=0b010101 Будет ли сквозная нумерация как у ардуино? Или более традиционно: 1.0, 1.1, 1.2….1.7, 2.0, 2.1... Или по названиям портов: А0, А1, А2, …. А7, В0…. порты там какие попало получаются
@ko10ok Рекомендую сквозную нумерацию определить, но так же оставить возможность работать с портами. с цифровой нумерацие полегче получается имхо https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B5%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80_%D0%A1%D0%B8 http://www.opennet.ru/docs/RUS/cpp/cpp-5.html надо потестить макросы типа
#define RANGE1(X,Y) \ X==Y? X: X,RANGE2(X+1,Y) #define RANGE2(X,Y) \ X==Y? X: X,RANGE1(X+1,Y)
вроде должен выдать весь порядок портов и если немного подшаманить, то вызвать функции записи в этот порт =/
@redetection Историческая ссылка , там может быть интересный синтаксис. Но для такого всё равно уже надо писать свой DSL и анализировать AST. Давайте это чуть позже, надо сначала базовый функционал написать. С DSL я помогу, мне это интересно Юра, вот такие макросы не сработают. Кстати, вот хороший пример, как можно поизвращаться с макросами (там вокруг немного obj-c, не обращайте на него внимания)
вот здесь ещё интересные развратные примеры
а вот здесь сказано, что всё печально :(
спасибо) за кучу инфы, но это не делает массовую запись. И я ее не делаю, ибо ты знаешь как делать, вот и делай) Это кстати базовый функционал.
Я так и понял, что кроме меня это делаю некому, поэтому и ищу сопутствующую инфу, чтобы потом, когда я начал реализовывать, весь справочный материал был уже готов. Реализовывать один фиг нельзя, пока вы не определились с организацией пинов, потому что в любом случае макрос будет на это завязан. Я же не хочу всё переделывать. И это, кстати, не базовый функцонал. Это — приятная плюшка.
just for history ^__^
write to port in 'write(PB,PB3,PB4,PC..,(long)0X012312341FDH)'- like format
ports = 43 bits; 4 highest should be 0x0000 .... .... .... ..... size of long = 64 bit
вот сюда выше идея: 0xWP0p
W - whole port P - port p - pin
целые порты типа PA, PB дефайнить как 0x1000 0x2000 пин на порту типа B2 B3 дефайнить как 0x0202 0x0203 сквозная нумерация пинов делается с пустым значением WP например 0х000А 0х00В2 тогда всё это сможет кушать pinWrite.