spongebob Posted January 19, 2011 Report Share Posted January 19, 2011 Ñ Ð¿Ð»Ð¾Ñ…Ð¾ понимаю что значит onoff ononly toggle :) Ñветодиод можно Ñделать, почему нет-то? а вот Ñ Ð±Ð»Ð¸Ð½ÐºÐ¾Ð¼ как поÑтупить Ñ Ð½Ðµ знаю... нужно форум шерÑтить, кто-то делал Quote Link to comment Share on other sites More sharing options...
spongebob Posted January 19, 2011 Report Share Posted January 19, 2011 (edited) Ð˜Ð½Ð´Ð¸ÐºÐ°Ñ†Ð¸Ñ 0%. Ð’ AIN_NotifyChange добавлÑем: if (pin==4) { (pin_value==64) ? MIOS_DOUT_PinSet (30,1) : MIOS_DOUT_PinSet(30,0); } if (pin==5) { (pin_value==64) ? MIOS_DOUT_PinSet (62,1) : MIOS_DOUT_PinSet(62,0); } OnOff Ñ Ð¿Ð¾Ð»Ð°Ð³Ð°ÑŽ: нажал-отпуÑтил - включилоÑÑŒ, нажал-отпуÑтил - выключилоÑÑŒ Toggle: нажал - включилоÑÑŒ, отпуÑтил - выключилоÑÑŒ Ðто в тракторе наÑтраиваетÑÑ, еÑли Ñ Ð½Ðµ ошибаюÑÑŒ. Вот только зачем нужны были плÑÑки Ñ Ð±ÑƒÐ±Ð½Ð¾Ð¼ вокруг Shift? :) Ð OnOnly Ñто что? :) Edited January 19, 2011 by spongebob Quote Link to comment Share on other sites More sharing options...
spongebob Posted January 19, 2011 Report Share Posted January 19, 2011 Ð’ локальные переменные: unsigned char timer_tick; unsigned char blink_led; Ð’ Init: timer_tick=0; blink_led=0; MIOS_TIMER_Init(0x03, 62500); Добавить функцию тика по таймеру. ЗдеÑÑŒ Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð¼ÐµÑ€Ð° моргают 31 и 63 Ñветодиоды. void Tick(void) __wparam { if (timer_tick=>10) { timer_tick=0; } if (timer_tick==0) { // Ñделать что-то раз в 500mS (blink_led==1) ? (blink_led=0) : (blink_led=1); MIOS_DOUT_PinSet(31,(blink_led && MIOS_DOUT_PinGet(31))); MIOS_DOUT_PinSet(63,(blink_led && MIOS_DOUT_PinGet(63))); } timer_tick++; } Ð£Ð¼ÐµÐ½ÑŒÑˆÐ°Ñ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ñƒ timer_tick, а так же играÑÑÑŒ Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ð¼Ð¸ MIOS_TIMER_Init добейÑÑ Ð½ÑƒÐ¶Ð½Ð¾Ð¹ паузы. Значение второго параметра MIOS_TIMER_Init не больше 65535. Quote Link to comment Share on other sites More sharing options...
Chubaka Posted January 19, 2011 Author Report Share Posted January 19, 2011 (edited) OnOnly - нажал 7f, отпуÑтил - нет команды, нажал 7f и.Ñ‚.д Я проÑто ещё и Ñ VirtualDJ хочу его пробовать, что-то в тракторе хорошего что-то в виртуале, ещё не определилÑÑ. попробовал if ((pin==46 || pin==6) && pin_value==1) { return; } вÑе работает :frantics: . spongebob Ñ‚Ñ‹ шаман однако :hairy: Ñ‰Ð°Ñ Ð¾Ñтальное пробовать буду :shifty: Edited January 19, 2011 by Chubaka Quote Link to comment Share on other sites More sharing options...
Janis1279 Posted January 19, 2011 Report Share Posted January 19, 2011 (edited) Toggle: нажал - включилоÑÑŒ, отпуÑтил - выключилоÑÑŒ Ð OnOnly Ñто что? :) Как Ñ Ð¿Ñ€ÐµÐ´ÑтавлÑÑŽ, речь идёт об Ñтих режимах кнопок ( MB64 , MB 64e ) : A special feature is implemented for the buttons: the behaviour of every button can be specified with the Snapshot Button before a event will be assigned to it: Send learned value when button pressed, send zero when button released. Send learned value only when button pressed, don't send a zero value when button released. Send learned value with the first keypress, send zero value with the second keypress. Edited January 19, 2011 by Janis1279 Quote Link to comment Share on other sites More sharing options...
Chubaka Posted January 19, 2011 Author Report Share Posted January 19, 2011 Вот вот именно так. Quote Link to comment Share on other sites More sharing options...
spongebob Posted January 19, 2011 Report Share Posted January 19, 2011 Ðга, понÑл придумаем, не волнуйÑÑ :) void Tick Ñто не та Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ :) нада было void Timer Quote Link to comment Share on other sites More sharing options...
spongebob Posted January 19, 2011 Report Share Posted January 19, 2011 (edited) const unsigned char btn_mode[78]={ 0,0,1,1,1,1,1,2,2,1, 2,2,1,2,1,0,0,1,1,0, 1,0,0,0,0,0,0,0,1,0, 4,4,1,0,1,1,0,0,2,2, 1,2,2,1,1,2,1,1,1,1, 1,0,0,0,0,0,0,0,0,0, 1,0,4,4,2,1,1,1,1,1, 4,4,1,1,1,1,1,2}; unsigned char btn_state[78]={ 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0}; void DIN_NotifyToggle(unsigned char pin, unsigned char pin_value) __wparam { switch(btn_mode[pin]){ case 0: // OnOff break; case 1: // Toggle if (pin_value==0) { (btn_state[pin]==1) ? (btn_state[pin]=0) : (btn_state[pin]=1); if (btn_state[pin]==0) {return;} } else {return;} break; case 2: // OnOnly if (pin_value==1) {return;} break; } MIOS_MIDI_BeginStream(); MIOS_MIDI_TxBufferPut(0x90); // Note Event at channel #1 MIOS_MIDI_TxBufferPut(pin); // just forward the pin number (0..127) MIOS_MIDI_TxBufferPut(pin_value ? 0x00 : 0x7f); // MIOS_MIDI_EndStream(); } Edited January 19, 2011 by spongebob Quote Link to comment Share on other sites More sharing options...
Chubaka Posted January 19, 2011 Author Report Share Posted January 19, 2011 Ð’ AIN_NotifyChange поÑтавил вот так (подглÑдел в Traktorizer, main.c) if (pin==4) if (pin_value >=62 && pin_value <=66) { MIOS_DOUT_PinSet (30,1) ; }else{ MIOS_DOUT_PinSet(30,0); } еÑли Ñтавить pin_value==64 то её вообще трудно поймать , промаргивает проÑто. вÑÑ‘ бы нечего тока вот Ñ Ð½Ðµ пойму чето: Ñветодиод Ñтот Ñрабатывает в Ñамом начале движениÑ, по монитору в mios studio Ñто получаетÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ равно 7 или 8 (b0 04 07 и bo 04 08). при чём и в твоём варианте Ñрабатывал при тех же значениÑÑ…. const unsigned char btn_mode[78]={ 0,0,1,1,1,1,1,2,2,1, 2,2,1,2,1,0,0,1,1,0, 1,0,0,0,0,0,0,0,1,0, 4,4,1,0,1,1,0,0,2,2, 1,2,2,1,1,2,1,1,1,1, 1,0,0,0,0,0,0,0,0,0, 1,0,4,4,2,1,1,1,1,1, 4,4,1,1,1,1,1,2}; unsigned char btn_state[78]={ 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0};\ а Ñто что, и куда Ñувать :blink: Quote Link to comment Share on other sites More sharing options...
spongebob Posted January 19, 2011 Report Share Posted January 19, 2011 (edited) маÑÑивы пихай в начало, где переменные первый маÑÑив - Ñто тип кнопки второй - ÑоÑтоÑние (только Ð´Ð»Ñ toggle) про Ñветодио не понÑл немного... if ((pin==4) && (pin_value >=62 && pin_value <=66)) { MIOS_DOUT_PinSet (30,1);} else {MIOS_DOUT_PinSet(30,0);} Edited January 19, 2011 by spongebob Quote Link to comment Share on other sites More sharing options...
Chubaka Posted January 19, 2011 Author Report Share Posted January 19, 2011 понÑл куда)))) режим toggle и on only работают режим onoff Ñ‰Ð°Ñ Ð¿Ð¾Ð»ÑƒÑ‡Ð°ÐµÑ‚ÑÑ Ñ‚Ð°Ðº: нажал - 7f, отпуÑтил-нечего, нажал второй раз- ничего, отпуÑтил - ничего, нажал 3 раз -7f 00 по второму нажатию не выдаёт const unsigned char btn_mode[78]={ 0,0,1,1,1,1,1,2,2,1, 2,2,1,2,1,0,0,1,1,0, 1,0,0,0,0,0,0,0,1,0, 4,4,1,0,1,1,0,0,2,2, 1,2,2,1,1,2,1,1,1,1, 1,0,0,0,0,0,0,0,0,0, 1,0,4,4,2,1,1,1,1,1, 4,4,1,1,1,1,1,2}; Ñто, Ñ ÐºÐ°Ðº понимаю вроде карты, а как её пользоватьÑÑ ÐµÑли Ñ Ð·Ð°Ñ…Ð¾Ñ‡Ñƒ поменÑÑ‚ÑŒ режимы каких нибудь кнопок? Quote Link to comment Share on other sites More sharing options...
Chubaka Posted January 19, 2011 Author Report Share Posted January 19, 2011 (edited) про Ñветодио не понÑл немного... if ((pin==4) && (pin_value >=62 && pin_value <=66)) { MIOS_DOUT_PinSet (30,1);} else {MIOS_DOUT_PinSet(30,0);} ну по Ñтрочке он должен зажигатьÑÑ Ð² значении переменного резиÑтора 63,64,65 тобиш по Ñередине, а он зажигаетÑÑ Ð² значении 07,08 тобиш почти в начале , причем в твоём варианте он также зажигалÑÑ Ð¿Ñ€Ð¸ значении 07,08 :huh: вот как то так з.Ñ‹. Ñ Ð¼Ð°ÑÑивом разобралÑÑ, каждое значение ÑоответÑтвует номеру кнопки по порÑдку :rolleyes: Edited January 19, 2011 by Chubaka Quote Link to comment Share on other sites More sharing options...
spongebob Posted January 19, 2011 Report Share Posted January 19, 2011 попробуй убрать case 0: break; из switch() и поÑмотри что будет Quote Link to comment Share on other sites More sharing options...
Chubaka Posted January 19, 2011 Author Report Share Posted January 19, 2011 тоже Ñамое, ничего не изменилоÑÑŒ. Quote Link to comment Share on other sites More sharing options...
Chubaka Posted January 19, 2011 Author Report Share Posted January 19, 2011 ой не там пробовал подожди ещё Quote Link to comment Share on other sites More sharing options...
Chubaka Posted January 19, 2011 Author Report Share Posted January 19, 2011 да вÑÑ‘ по прежнему Quote Link to comment Share on other sites More sharing options...
spongebob Posted January 19, 2011 Report Share Posted January 19, 2011 Ртак? void DIN_NotifyToggle(unsigned char pin, unsigned char pin_value) __wparam { if btn_mode[pin]==1 { // Toggle if (pin_value) {return;} else { (btn_state[pin]==1) ? (btn_state[pin]=0) : (btn_state[pin]=1); if (btn_state[pin]==0) {return;} } } if btn_mode[pin]==2 { // OnOnly if (pin_value) {return;} } MIOS_MIDI_BeginStream(); MIOS_MIDI_TxBufferPut(0x90); // Note Event at channel #1 MIOS_MIDI_TxBufferPut(pin); // just forward the pin number (0..127) MIOS_MIDI_TxBufferPut(pin_value ? 0x00 : 0x7f); // MIOS_MIDI_EndStream(); } Quote Link to comment Share on other sites More sharing options...
Chubaka Posted January 19, 2011 Author Report Share Posted January 19, 2011 а так ошибку при компилÑции выдает: main.c:200: syntax error: token -> 'btn_mode' ; column 11 make: *** [_output/main.o] Error 1 Quote Link to comment Share on other sites More sharing options...
spongebob Posted January 19, 2011 Report Share Posted January 19, 2011 btn_mode[pin]==1 и btn_mode[pin]==2 в кавычки Quote Link to comment Share on other sites More sharing options...
Chubaka Posted January 19, 2011 Author Report Share Posted January 19, 2011 (edited) Ñкомпелировал но тоже Ñамое :sad: Edited January 19, 2011 by Chubaka Quote Link to comment Share on other sites More sharing options...
spongebob Posted January 19, 2011 Report Share Posted January 19, 2011 Ñтранно... а еÑли оÑтавить только MIOS_MIDI_BeginStream(); MIOS_MIDI_TxBufferPut(0x90); // Note Event at channel #1 MIOS_MIDI_TxBufferPut(pin); // just forward the pin number (0..127) MIOS_MIDI_TxBufferPut(pin_value ? 0x00 : 0x7f); // MIOS_MIDI_EndStream();? Quote Link to comment Share on other sites More sharing options...
Chubaka Posted January 19, 2011 Author Report Share Posted January 19, 2011 вÑе кнопки в режиме toggle Quote Link to comment Share on other sites More sharing options...
spongebob Posted January 19, 2011 Report Share Posted January 19, 2011 как Ñто? должны быть onoff Quote Link to comment Share on other sites More sharing options...
Chubaka Posted January 19, 2011 Author Report Share Posted January 19, 2011 нет toggle, нажал -7f, отпуÑтил -00., Ñ‚.е как в первом иÑходнике было Quote Link to comment Share on other sites More sharing options...
spongebob Posted January 19, 2011 Report Share Posted January 19, 2011 (edited) так Ñто OnOff :) Ты же Ñам Ñкидывал что означает что. OnOff: нажал - 0x7f, отпуÑтил - 0x00 Toggle: нажал - 0x7f, отпуÑтил - ничего, нажал - 0x00, отпуÑтил - ничего, нажал - 0x7f и Ñ‚.д. OnOnly: нажал - 0x7f, отпуÑтил - ничего Edited January 19, 2011 by spongebob Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.