Jump to content

MIDI Dj Controller ZVEZDA


Chubaka

Recommended Posts

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

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

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

Link to comment
Share on other sites

  • Replies 89
  • Created
  • Last Reply

Top Posters In This Topic

Ð˜Ð½Ð´Ð¸ÐºÐ°Ñ†Ð¸Ñ 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
Link to comment
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.

Link to comment
Share on other sites

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

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

попробовал

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

return;

}

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

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

Edited by Chubaka
Link to comment
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
Link to comment
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
Link to comment
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:

Link to comment
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
Link to comment
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};

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

Link to comment
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
Link to comment
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();

}

Link to comment
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();

?

Link to comment
Share on other sites

так Ñто OnOff :)

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

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

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

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

Edited by spongebob
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...