Jump to content

8 Port MIDI Router


AGW
 Share

Recommended Posts

I was hoping to get a "that will work" from the people in the know.

I have read the MIDI Router pages from TK and want to know if the following setup would work.

-The Core32 module with 8 I/O modules (IIC MIDI)

-On/off switches to isolate specific devices that require Omni for communication.

-I plan to use a LCD during testing, but the final unit will use LEDs for status notifications

From what I have read theoretically 127 of the IIC devices can be used, but it requires a firmware change. If I am planning to use 8 of these, I guess that I would change something in the firmware of the IIC? Or am I misunderstanding and the change is required in the core? Any thoughts on how to implement the switches?

I think that I am comfortable enough to build the parts and pieces, but I want to make sure that I can run 8 devices through the router. I currently have 5 things to connect and there is a possibility of more in future (true for everyone, I am sure).

Thank you all!

Link to comment
Share on other sites

  • 2 weeks later...

I was looking at the firmware code for the IIC modules and hope that I found the information about the IIC address.

Code snippets are from the file iic.asm

Original for the first four modules:

;; FUNCTION: IIC_Init_GetAddress

;; DESCRIPTION: initialises the IIC address only - can be called from the

;; mainloop to allow the change on-the-fly without device reset

;; IN: -

;; OUT: -

;; USES: -

;; --------------------------------------------------------------------------

IIC_Init_GetAddress

movlw IIC_DEVICE_ADDRESS

btfsc ID0_PORT, ID0_PIN

iorlw 0x02

btfsc ID1_PORT, ID1_PIN

iorlw 0x04

SWITCHBANK_0_1

movwf SSPADD

SWITCHBANK_1_0

return

Modified for additional 4 modules:

;; FUNCTION: IIC_Init_GetAddress

;; DESCRIPTION: initialises the IIC address only - can be called from the

;; mainloop to allow the change on-the-fly without device reset

;; IN: -

;; OUT: -

;; USES: -

;; --------------------------------------------------------------------------

IIC_Init_GetAddress

movlw IIC_DEVICE_ADDRESS

btfsc ID0_PORT, ID0_PIN

iorlw 1x02 ;Changed 0 to 1

btfsc ID1_PORT, ID1_PIN

iorlw 1x04 ;Changed 0 to 1

SWITCHBANK_0_1

movwf SSPADD

SWITCHBANK_1_0

return

Would I be able to update the firmware on the modules without having to flash the PIC?

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...
 Share

×
×
  • Create New...