Chubaka

MIDI Dj Controller ZVEZDA

90 posts in this topic

Ñ Ð¿Ð»Ð¾Ñ…Ð¾ понимаю что значит onoff ononly toggle :)

Ñветодиод можно Ñделать, почему нет-то?

а вот Ñ Ð±Ð»Ð¸Ð½ÐºÐ¾Ð¼ как поÑтупить Ñ Ð½Ðµ знаю... нужно форум шерÑтить, кто-то делал

Share this post


Link to post
Share on other sites

Ð˜Ð½Ð´Ð¸ÐºÐ°Ñ†Ð¸Ñ 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 by spongebob

Share this post


Link to post
Share on other sites

В локальные переменные:

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.

Share this post


Link to post
Share on other sites

OnOnly - нажал 7f, отпуÑтил - нет команды, нажал 7f и.Ñ‚.д

Я проÑто ещё и Ñ VirtualDJ хочу его пробовать, что-то в тракторе хорошего что-то в виртуале, ещё не определилÑÑ.

попробовал

if ((pin==46 || pin==6) && pin_value==1) {

return;

}

вÑе работает :frantics: . spongebob Ñ‚Ñ‹ шаман однако :hairy:

Ñ‰Ð°Ñ Ð¾Ñтальное пробовать буду :shifty:

Edited by Chubaka

Share this post


Link to post
Share on other sites

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:

cs31.gifSend learned value when button pressed, send zero when button released.

cs32.gifSend learned value only when button pressed, don't send a zero value when button released.

cs33.gifSend learned value with the first keypress, send zero value with the second keypress.

Edited by Janis1279

Share this post


Link to post
Share on other sites

Вот вот именно так.

Share this post


Link to post
Share on other sites

Ðга, понÑл

придумаем, не волнуйÑÑ :)

void Tick Ñто не та Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ :)

нада было void Timer

Share this post


Link to post
Share on other sites

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 by spongebob

Share this post


Link to post
Share on other sites

Ð’ 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:

Share this post


Link to post
Share on other sites

маÑÑивы пихай в начало, где переменные

первый маÑÑив - Ñто тип кнопки

второй - ÑоÑтоÑние (только Ð´Ð»Ñ toggle)

про Ñветодио не понÑл немного...

if ((pin==4) && (pin_value >=62 && pin_value <=66)) { MIOS_DOUT_PinSet (30,1);}

else {MIOS_DOUT_PinSet(30,0);}

Edited by spongebob

Share this post


Link to post
Share on other sites

понÑл куда))))

режим 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};

Ñто, Ñ ÐºÐ°Ðº понимаю вроде карты, а как её пользоватьÑÑ ÐµÑли Ñ Ð·Ð°Ñ…Ð¾Ñ‡Ñƒ поменÑÑ‚ÑŒ режимы каких нибудь кнопок?

Share this post


Link to post
Share on other sites
про Ñветодио не понÑл немного...

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 by Chubaka

Share this post


Link to post
Share on other sites

попробуй убрать case 0: break; из switch()

и поÑмотри что будет

Share this post


Link to post
Share on other sites

тоже Ñамое, ничего не изменилоÑÑŒ.

Share this post


Link to post
Share on other sites

ой не там пробовал подожди ещё

Share this post


Link to post
Share on other sites

да вÑÑ‘ по прежнему

Share this post


Link to post
Share on other sites

Ртак?

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();

}

Share this post


Link to post
Share on other sites

а так ошибку при компилÑции выдает:

main.c:200: syntax error: token -> 'btn_mode' ; column 11

make: *** [_output/main.o] Error 1

Share this post


Link to post
Share on other sites

btn_mode[pin]==1 и btn_mode[pin]==2 в кавычки

Share this post


Link to post
Share on other sites

Ñкомпелировал но

тоже Ñамое :sad:

Edited by Chubaka

Share this post


Link to post
Share on other sites

Ñтранно...

а еÑли оÑтавить только

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();

?

Share this post


Link to post
Share on other sites

вÑе кнопки в режиме toggle

Share this post


Link to post
Share on other sites

как Ñто?

должны быть onoff

Share this post


Link to post
Share on other sites

нет toggle, нажал -7f, отпуÑтил -00., Ñ‚.е как в первом иÑходнике было

Share this post


Link to post
Share on other sites

так Ñто OnOff :)

Ты же Ñам Ñкидывал что означает что.

OnOff: нажал - 0x7f, отпуÑтил - 0x00

Toggle: нажал - 0x7f, отпуÑтил - ничего, нажал - 0x00, отпуÑтил - ничего, нажал - 0x7f и Ñ‚.д.

OnOnly: нажал - 0x7f, отпуÑтил - ничего

Edited by spongebob

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now