PeterBeklemishev/mila

Global pins configuration

Opened this issue · 5 comments

#11.

@ko10ok
Как часто меняется функционал пина? Может это для экстренной смены функции использовать только, а для инициализации использовать инитмассив какого нить формата типа
PINS={
(PIN,ANALOG,OUTPUT),
(PIN,TYPE,MODE),
({PIN,PIN}, I2C) <
({PIN,PIN,PIN,PIN,PIN},ANALOG,OUTPUT), <
(PINGROUP, TYPE, [MODE]) < например такой общий формат
…}
или более удобоваримый формат какой нить ибо нету смысла писать каждый раз "инитПин".
И парсить это макросом на этапе компиляции например)

@PeterBeklemishev
Идея интересная

@dubkov
Массовое объявление пинов и массовое дерганье пинами - моя мечта! парсить это конечно адок будет…

{PIN,PIN}, I2C - не вижу смысла, пины для i2c забиндены и должны резервироваться прямо в библиотеке. Остальное неплохо

@ReDetection
Идея задавать чуть более высокоуровнево — правильная, пользователям проще будет.
Смысл писать каждый раз пинИнит есть. Это — всего лишь семь символов, шесть из которых тебе подставит sublime прямо сразу (а если ты выучишь хоткей на мультикурсор, то совсем халява.
Напоминаю для тех, кто забыл: раньше для этого надо какие-то разные маски по каким-то разным адресам распихать, а тут — всего пара пинИнитов ;)

@ReDetection
макросы сильно ограничены, там надо неплохо костылить и хакать, чтобы получить функционал. хуже, чем в баше, но лучше, чем в брайнфаке. короче для чего-нибудь не очень сложного можно макросы, для чего-нибудь сложнее — DSL или екстеншны

Серёжа не впечатлён, короче. Это будет сложно парсить даже программно, я уж не говорю о том, что макросами это вообще трешак

Серёжа

Кто это?

это я :(

Я знаю :)

изи)