Jump to content

dinama

Members
  • Posts

    33
  • Joined

  • Last visited

Everything posted by dinama

  1. I try to connect three 40x2 display to MBHP_CORE_STM32F4 board in a MIDIbox NG controller. The first two display are connected to J15A and J15B. For third display i tried to recompile the MIDIbox NG application with following options in mios32_config.h for optional third Enable line (pin A6 of J5B): #define MIOS32_BOARD_LCD_E3_PORT GPIOB #define MIOS32_BOARD_LCD_E3_PIN GPIO_Pin_0 every time i get the same error " project_build//c/MIOS32/mios32/STM32F4xx/mios32_board.o: In function `MIOS32_BOARD_J15_PortInit': c:/MIOS32/mios32/STM32F4xx/mios32_board.c:927: undefined reference to `LCD_PIN_E3' project_build//c/MIOS32/mios32/STM32F4xx/mios32_board.o: In function `MIOS32_BOARD_J15_E_Set': c:/MIOS32/mios32/STM32F4xx/mios32_board.c:1118: undefined reference to `LCD_PIN_E3' collect2.exe: error: ld returned 1 exit status make: *** [project_build/project.elf] Error 1 "make all" terminated with exit code 2. Build might be incomplete. " I use Eclipse for compiling. I didn't understand something. I'm not a coder. In the CORE_LPC17 Module there was J28 for connecting other displays but not on MBHP_CORE_STM32F4 board. I need some help. Thanks all for your help and your time.
  2. No news? Is there a way to read two consecuitive bytes from a received sysex and assign to a hardware controller? From pag. 35 of Xva1 manual: XVA1 can be controlled also by using the dedicated external UART, by using pins 26 (TX) and 27 (RX) in the CMOD-A7 module. The external UART is set to send/receive at 500 kbps, 8-bit, one stop bit, no parity. Command are: r = Loads a program from EEPROM w =Writes active program into EEPROM. s= Sets specified parameter to specified value. g =Gets active value for specified parameter ...... is there a way to use these commands in my midibox? is possible to send command like this from a midibox to the synth? If there is no solution the last thing i can do is to manually copy all preset from eeprom and save every preset in the sd card. I fear that 500 parameters for every preset are too many to save on sd card. I have bad experience with sd card. I prefer eeprom. thanks
  3. I'd like to make an hardware control surface for fantastic XVA1 synth (https://www.futur3soundz.com/xva1-synthesizer) The synth use a 24LC1025 I2C EEPROM memory to store preset. All parameters in XVA1 can be controlled via MIDI System Exclusive messages. The message format for the messages is as follows: F0 44 00 P1 P2 V1 V2 F7 Where: P1 P2 = Parameter number, 0~511 in two hexadecimal 7-bit values. V1 V2 = Value, 0~255 in two hexadecimal 7-bit values . So i use encoder on MBNG to change value like this ( example for filter-1-cutoff where P1=0x00 and P2=0x48) EVENT_ENC id= 1 hw_id = 1 bank=1 fwd_id=LED_MATRIX:1 fwd_to_lcd=1 range= 0:255 type=SysEx stream="0xf0 0x44 0x00 0x00 0x48 ^val_h ^val 0xf7" ports=100011000000000 lcd_pos=1:1:1 label="filter1_cutoff %3d" All is ok It is also possible to request a SysEx Dump Get Program Dump (512 parameter values) F0 43 uu 04 04 00 00 F7 Where uu = unit number.( In my case 0x00) So i implemented a button to request a dump and store it in a general receiver EVENT_BUTTON id= 80 button_mode=OnOnly type=SysEx stream="0xf0 0x44 0x00 0x04 0x04 0x00 0x00 0xf7" chn= 1 range= 0:1 offset= 0 ports=100011000000000 lcd_pos=1:1:1 label="get dump" EVENT_RECEIVER id= 1 type=SysEx stream="0xf0 0x43 0x00 ^dump 0xf7" ports=1000100000001000 fwd_to_lcd=1 lcd_pos=1:1:2 label="Received SyxDump" This part is ok. Using MIDI-OX software i can see the 1024 byte of the dump that synth out of its midi out port. Now the problem. I'd like to use syxdump_pos parameter to update the value af any controller to reflect the current value stored in the current selected program in the synth memory. syxdump_pos fails because it points to a single byte in the ^dump , while the parameter value consists of two bytes. I'm not a programmer but in MIDIbox NG repository i find this section in mbng_event.c file case MBNG_EVENT_SYSEX_VAR_VAL: match = 1; pool_item->value = (pool_item->value & 0xff80) | (midi_in & 0x7f); break; case MBNG_EVENT_SYSEX_VAR_VAL_H: match = 1; pool_item->value = (pool_item->value & 0xf07f) | (((u16)midi_in & 0x7f) << 7); break; case MBNG_EVENT_SYSEX_VAR_VAL_N1: match = 1; pool_item->value = (pool_item->value & 0xfff0) | (((u16)midi_in << 0) & 0x000f); break; case MBNG_EVENT_SYSEX_VAR_VAL_N2: match = 1; pool_item->value = (pool_item->value & 0xff0f) | (((u16)midi_in << 4) & 0x00f0); break; case MBNG_EVENT_SYSEX_VAR_VAL_N3: match = 1; pool_item->value = (pool_item->value & 0xf0ff) | (((u16)midi_in << 8) & 0x0f00); break; case MBNG_EVENT_SYSEX_VAR_VAL_N4: match = 1; pool_item->value = (pool_item->value & 0x0fff) | (((u16)midi_in << 12) & 0xf000); break; Is it possible to edit this file to get a solution to my problem?how? Can anyone help me find a solution? Thanks in advance. UCapps is a fantastic place.
  4. after many attempts with my midiboxNG i can say that ain_mode=Snap and ain_mode=Parallax do not work. Maybe there will be a solution with next firmware
  5. i tryed the new version http://www.ucapps.de...v1_027_pre2.zip ain_mode=Snap still not work
  6. Hi. I have some problem with ain_mode=Snap this is a part of my configuration file These are the pots configuration EVENT_AINSER id= 57 type=PolyPressure chn= 1 key= 71 range= 0:127 offset=0 ports=1000100000001000 ain_mode=Snap lcd_pos=1:1:1 label="CH RATE %3d" EVENT_AINSER id= 58 type=PolyPressure chn= 1 key= 72 range= 0:127 offset=0 ports=1000100000001000 ain_mode=Snap lcd_pos=1:1:1 label="CH PHASE %3d" EVENT_AINSER id= 59 type=PolyPressure chn= 1 key= 73 range= 0:127 offset=0 ports=1000100000001000 ain_mode=Snap lcd_pos=1:1:1 label="CH DEPTH %3d" EVENT_AINSER id= 60 type=CC chn= 1 cc= 91 range= 0:127 offset=0 ports=1000100000001000 ain_mode=Snap lcd_pos=1:1:1 label="CH DRYWET %3d" EVENT_AINSER id= 61 type=CC chn= 1 cc= 7 range= 0:127 offset=0 ports=1000100000001000 ain_mode=Snap lcd_pos=1:1:1 label="VOLUME %3d" ... these are buttons for recall snapshots ..... EVENT_BUTTON id= 1 fwd_id=LED:1 type=Meta meta=setSnapshot meta=LoadSnapshot meta=DumpSnapshot range= 1:1 radio_group=1 button_mode=OnOnly lcd_pos=1:1:1 label="%Cmem%S" EVENT_BUTTON id= 2 fwd_id=LED:2 type=Meta meta=setSnapshot meta=LoadSnapshot meta=DumpSnapshot range= 2:2 radio_group=1 button_mode=OnOnly lcd_pos=1:1:1 label="%Cmem%S" EVENT_BUTTON id= 3 fwd_id=LED:3 type=Meta meta=setSnapshot meta=LoadSnapshot meta=DumpSnapshot range= 3:3 radio_group=1 button_mode=OnOnly lcd_pos=1:1:1 label="%Cmem%S" EVENT_BUTTON id= 4 fwd_id=LED:4 type=Meta meta=setSnapshot meta=LoadSnapshot meta=DumpSnapshot range= 4:4 radio_group=1 button_mode=OnOnly lcd_pos=1:1:1 label="%Cmem%S" ... this is the button for save snapshot EVENT_BUTTON id= 18 type=Meta meta=SaveSnapshot meta=DumpSnapshot button_mode=OnOnly lcd_pos=1:17:1 label="%Csave mem%S" when i move the pots of of EVENT_AINSER events the output value jumps directly to the new conversion value ( like in Direct mode) not like in Snap mode definition " whenever a new value is received from external, pot/fader movements won't generate MIDI events until it passed beyond the new position" The strange thing is thant if i change the ain_mode from Snap to Relative all it's ok I try to delete the .ngs file from sd card so that a new one will be created but i have the same problem. thanks for help
  7. Hi everyone. Is possible to have in midibox ng the option "snapshot at power on" present in midibox64? I wish at the power-on, midibox ng automatically send the actual values ​​marked by the position of the potentiometers connected to ainser64 module. I see in the list of .ngc parameter "RetrieveAinserValues:" and the various "SetSnapshot:"-"LoadSnapshot:"-"SaveSnapshot:"-"DumpSnapshot:" but i realy don't know where and when i can use it for my purpose. Maybe with a dummy led functions? Please help
  8. please give me a news. i'd like to finish my project. thanks
  9. Ok i think this is the line where the flag is reset in user tick bcf MB_STAT2, MB_STAT2_PWR_SNAPSHOT_REQ So why every time i change bank i don't have value stored in bank but the snapshot value?
  10. i think it's better for me to use [AUTO_SNAPSHOT] enabled because when in bank1 i push button 18 = FF 04 01 @OnOnly (or FF 02 01 if i don't want to save the value in bank1) i want to jump to bank 2 and restore value stored in bank2 and sent it to midi out. maybe the problem is the flag that i set in meta-handler for my special button MB64_META_Handler bsf MB_STAT2, MB_STAT2_PWR_SNAPSHOT_REQ return maybe USER_Tick function in main.inc don't clear the flag
  11. Sorry but after a few attempts i discovered a problem. i use your solution and i assign to a button the meta handler. MB64_META_Handler bsf MB_STAT2, MB_STAT2_PWR_SNAPSHOT_REQ return but now with [AUTO_SNAPSHOT] enabled when i change bank with button 17-18-19 midibox don't recall the values stored in bankstick but everytime make a snapshot of current pot position. if i use [AUTO_SNAPSHOT] disabled midibox recall the values stored in bankstick but don't sent it to midi out port. This is the part of .ini file where the meta event is assigned to button 17 = FF 04 00 @OnOnly 18 = FF 04 01 @OnOnly 19 = FF 04 03 @OnOnly 20 = F0 00 7F @OnOnly
  12. Hi. I try your solution but it does not work. i modify mb64_meta.inc MB64_META_Handler movf MIDI_EVNT1, W call MB64_PATCH_SendCurrent and compile a new hex file. This is the part of .ini file where the meta event is assigned to button [bUTTONS] # Additional 4 Buttons in the menu section 19 = F0 00 7f @Onoff these are other options active [sNAPSHOT_AT_POWERON] enabled [AUTO_SNAPSHOT] enabled When i turn on midibox i can see on display "Loading Setup from bankstick" then "Sending Snapshot" . After this the midibox turn-off alone, restart , again on display "Loading Setup from bankstick" and "Sending Snapshot" , then the box crash . the display text remains "Sending Snapshot". I try with goto MB64_PATCH_SendCurrent with same result. It like there is a loop that sends the machine in crash. i don't know When i delete movf MIDI_EVNT1, W call MB64_PATCH_SendCurrent the midibox return ok.
  13. Hi. I have not programming skill so is about a week that i try to solve this thing. I want a special button for my midibox. This button have the same function of "snapshot at poweron" but manually triggered . So when i push this button the box will send all current pot settings ( actual values ​​marked by the position of the potentiometer not the one stored in bank) whithout store it in bank. In other words get the current physical position of all pots, and then transmit them to output midi port. I try to write a meta event to do this MB64_META_Handler movf MIDI_EVNT1, W goto MB64_PATCH_SendCurrent but there is somethig wrong in this. I search on forums and i found a similar tread with a solution() unsigned char i; unsigned char MyArray[num_ains]; for (i = 0 ; i <= num_ains ; i++) { MyArray[(i)] = MIOS_AIN_Pin7bitGet(i); } but this is a pseudocode and i don't have skill to translate it in a real solution. I think there is a simple solution with meta handler and existing functions but i don't see it. please can someone help me. thanks
  14. I try to change mb64_meta.inc MB64_META_Handler ;; send ;; F0 00 00 7E 43 06 xx F7 ;; set to "OnOnly" movlw 0xf0 call MIOS_MIDI_TxBufferPut movlw 0x00 call MIOS_MIDI_TxBufferPut movlw 0x00 call MIOS_MIDI_TxBufferPut movlw 0x7e call MIOS_MIDI_TxBufferPut movlw 0x43 call MIOS_MIDI_TxBufferPut movlw 0x06 call MIOS_MIDI_TxBufferPut movf MIDI_EVNT1, W call MIOS_MIDI_TxBufferPut movlw 0xf7 call MIOS_MIDI_TxBufferPut return This is my NEW buttons section [bUTTONS] 17 = F0 00 7F @OnOnly 18 = F0 01 7F @OnOnly 19 = F0 02 7F @OnOnly 20 = F0 02 7F @OnOnly Nothing!!! Midibox receive sysex string but don't do nothing. For example if i send F0 00 00 7E 43 06 00 F7 to input i have F0 00 00 7E 43 06 00 F7 to output but patch don't change. Again with sysex tool of midi-ox program i send the same string F0 00 00 7E 43 06 00 F7 and the patch change but at the output i have a different thing 0012FBC7 9 -- F0 Buffer: 106 Bytes System Exclusive SYSX: F0 00 00 7E 43 07 00 3E 4A 7F 00 00 00 00 00 7F 66 23 SYSX: 7F 00 00 00 7F 7F 7F 7F 00 33 7F 33 66 7F 62 1D 49 4B SYSX: 6F 59 2B 00 00 3E 0F 55 3C 16 57 00 7F 00 32 41 00 45 SYSX: 2D 7F 00 5A 4A 3B 59 33 71 37 7A 3C 67 02 00 00 00 0C SYSX: 00 0F 0F 0F 0B 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 00 00 00 SYSX: 00 00 00 00 00 00 00 00 00 00 00 00 00 0C 60 F7 I try Program Change for button MIDI events(Example: C0 05) but no patch change. I need some help
  15. I have some trouble with midibox64 patchmode and i need some help. I know patch mode is a compile option so i set the parameter #define DEFAULT_PATCHMODE 1 in setup_midibox64.asm file and compile it to have a new Hex file.(i use midibox64_v2_4f.zip) All Ok. no error. I upload the new hex file with mios studio and all gone ok. Now i have that the external BankStick (i have just one bankstick) can store 128 patches (A1-A2-A3-A4-A5-A6-A7-A8-B1-........) and i can select the patch in the patch menu with Navigation buttons.(i can see the changing on midibox display). Wath i want is this. I want 4 dedicated patch recall buttons so when I press button 1 it changes to bank 1 patch 1 (A1), button 2 bank 1 patch 2 (A2),button 3 bank 1 patch 3 (A3), button 4 bank 1 patch 4 (A4). I read the midibox64_sysex_implementation.txt F0 00 00 7E 43 <d>6 <p> F7 Request a Patch (Snapshot) <d> = device number (0-7) <p> = patch number (0-127) and i write a new midibox64.ini file. This is my buttons section. [bUTTONS] # Additional 4 Buttons in the menu section 17 = F0 06 00 @OnOff 18 = F0 06 01 @OnOff 19 = F0 06 02 @OnOff 20 = F0 06 03 @OnOff # Navigation buttons, only available as MIDI triggers when they # have been disabled in main.asmccd 21 = 90 7C 7F @OnOff 22 = 90 7D 7F @OnOff 23 = 90 7E 7F @OnOff 24 = 90 7F 7F @OnOff I start the script mk_syx.pl and i transfer the .syx file in my midibox. But when i push buttons 17-18-19-20 midibox don't do nothing. I try with [AUTO_SNAPSHOT] enabled but nothing. Then with sysex tool of midi-ox program i try to send the sysex string to midibox F0 00 00 7E 43 06 00 F7 (for patch A1) F0 00 00 7E 43 06 01 F7 (for patch A2) F0 00 00 7E 43 06 02 F7 (for patch A3) F0 00 00 7E 43 06 03 F7 (for patch A4) and i can see the changing of the patch on midibox display. So where is the problem? Why my dedicated patch recall button don't work? Maybe is problem of timing? Thanks for help
  16. I payed the amount with paypal. I'm waiting for knobs. Thanks
  17. added order for n°4 pcb - n°32 10k SIL RN - n°8 220 Ohm DIL RN good work.
  18. momentary switch - second picture. I make few test with new firmware(revision f) For me it's ok. I connected to din some mechanical switch (first picture) and at the power-on i can read the real position of a switch on the lcd of midibox64. Thanks
×
×
  • Create New...