Цитата(AHTOXA @ Oct 27 2012, 01:01)

А можно примерчик, как это выглядит?
Идея была что бы код получался примерно таким:
Код
from lpc11c14 import *
U0.txd_pin = -1
U0.rxd_pin = -1
use_all_pins(SSP0)
add_output('test_led', P0[2])
add_block_input('kbd1', (P0[3],P0[4],P0[5]))
add_block_input('kbd2', (P1[i] for i in range(2,7)))
generate('def.h','def.c')
сейчас очень похоже и работает, -1 ножка автоматически назначается (для периферии), можно присвоить например P0[5]. Так же проверка есть на несуществующие ноги и т.п.
add_output генерируют макросы и задают конфигурацию для ноги. (реально параметров больше) но есть псевдонимы с определенными свойствами (например LED(P0[1])) т.е. код компактнее и понятнее получается.
но это пока еще больше концепт, но в паре проектов сегенерированным кодом инитил LPC11, там ноги муторно настраивать регистры по разному называются, исключения есть...