Как стать автором
Обновить

Комментарии 5

педальборд

улыбнуло :-)

Для меня, последний раз державшего паяльник в 7 классе, это недостижимый уровень. Вы молодец! Продолжайте и пишите статьи. Удачи!
НЛО прилетело и опубликовало эту надпись здесь
Вариантов использования масса. Начиная, от зажатия шифта ногой, до добавления макросов ctrl+c/ctrl+v на остальные две педальки. Сидишь, кодишь, ногами перебираешь — зарядка :-)
Немного code review:
char, unsigned char, int 
заменить на
int8_t, uint8_t, uint16_t


struct pedal {
char port;
...}

на
typedef struct {
} pedal_t;

struct pedal pedals[7][4] 

pedal_t  pedals[7][4] 


Что делает и зачем так сложно?
PORTD = 0b00000000 + (PORTD & 0b11101100);


char pos1; // позиция 1
  char pos2; // позиция 2

на
int8_t pos[2]


 unsigned char act1[16]; //программа 1
  unsigned char act2[16]; //программа 2

на
uint8_t act[2][16]


type == 255

на
#define SOME_TYPE 255

if(type == SOME_TYPE) , или лучше if (SOME_TYPE == type)


if (prg[*pos] == 254) {
      //Удерживать клавишу, следующую за *pos
      Keyboard.press(prg[++*pos]);
    } else if 

на
switch (prg[*pos] )
{
....
}
В Вашей статье нашел для себя ответ на пару вопросов, которые волновали уже на протяжении года, поскольку пытался переделать свои нерабочие педали так, чтобы они работали, и вот, все заработало. Даже лучше, чем я планировал изначально. Спасибо!
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации