Home AMXForums Archive Threads AMX Hardware Matrix Distributed Audio

MI Series AMX module doubts

RajRaj Junior MemberPosts: 53
Hello every1,

Has any1 tried using the MI series AMX module.
I tried writting a program(shown below). But doesnt look its working. neither i dont find any wrong with my coding. I 'm not able to use the seek up,down functions and selecting different presets. Thankyou.

Comments

  • felixmoldovanfelixmoldovan Junior Member Posts: 197
    I presume you forgot to paste the code...
    Nevertheless, I have successfully used both the Netlinx and Duet modules, as well as raw protocol. Never smelt anything fishy...
  • RajRaj Junior Member Posts: 53
    I'm sorry, here is the code..

    PROGRAM_NAME='incAMFMTuner'

    define_device
    dvTP_FF_Breakfast_AMFMTuner = 10010:10:1

    DEFINE_VARIABLE
    CHAR TPBuffer[300]
    integer nAMFMbuttons[] =
    {
    1, //Next Stn Preset
    2, //Prev Stn Preset
    3, //increment station
    4, //decrement station
    5, //seek forward
    6, //seek backward
    7, //Preset 1
    8, //Preset 2
    9, //Preset 3
    10, //Preset 4
    11 // switch to radio
    }

    DEFINE_START
    CREATE_BUFFER dvTP_FF_Breakfast_AMFMTuner,TPBuffer

    DEFINE_EVENT


    BUTTON_EVENT[dvTP_FF_Breakfast_AMFMTuner,nAMFMbuttons]
    {
    PUSH:
    {

    SWITCH(GET_LAST(nAMFMbuttons))
    {
    case 1:
    {
    PULSE[vdvMatrixAudio2,22]
    }
    case 2:
    {
    PULSE[vdvMatrixAudio2,23]
    }
    case 3:
    {
    PULSE[vdvMatrixAudio2,225]
    }
    case 4:
    {
    PULSE[vdvMatrixAudio2,226]
    }
    case 5:
    {
    ON[vdvMatrixAudio2,229]
    }
    case 6:
    {
    ON[vdvMatrixAudio1,230]
    }
    case 7:
    {
    send_command vdvMatrixAudio1, "'XCH-88.8 '"
    }
    case 8:
    {
    send_command vdvMatrixAudio1, "'XCH-92.5 '"
    }
    case 9:
    {
    send_command vdvMatrixAudio1, "'XCH-99.7 '"
    }
    case 10:
    {
    send_command vdvMatrixAudio1, "'XCH-105.8 '"
    }
    case 11:
    {
    send_command vdvMatrixAudio1, "'PASSTHRU-MSSC1,1'"
    }
    }
    }

    release:
    {
    SWITCH(GET_LAST(nAMFMbuttons))
    {
    case 5:
    {
    off[vdvMatrixAudio1,229]
    }
    case 6:
    {
    off[vdvMatrixAudio1,230]
    }
    }
    }
    }
  • RajRaj Junior Member Posts: 53
    I didnt understand how to use the virtual variables.. vdvMatrixAudio1,vdvMatrixAudio2, vdvMatrixAudio3,vdvMatrixAudio4.. may thats y it aint working..
  • ericmedleyericmedley Senior Member - 4000+ posts Posts: 4,177
    please also post where you declare the virtual device(s) and the DEFINE_MODULE.
  • RajRaj Junior Member Posts: 53
    //MI seriees devices
    //////////////////////////////////////////////////////
    // Do not modify below conditional compile statement//
    dvMatrixAudioSerial = 5001:2:1// Serial device...COMMENT OUT IF USING IP
    #if_not_defined dvMatrixAudioSerial //
    #define IP //
    dvMatrixAudioIP = 0:5:0 // IP device //
    #end_if //
    //////////////////////////////////////////////////////

    vdvMatrixAudio1 =41001:1:1 //virtual device 1
    vdvMatrixAudio2 =41001:2:1 //virtual device 2
    vdvMatrixAudio3 =41001:3:1 //virtual device 3
    vdvMatrixAudio4 =41001:4:1 //virtual device 4
    vdvMatrixAudio5 =41001:5:1 //virtual device 5
    vdvMatrixAudio6 =41001:6:1 //virtual device 6
    vdvMatrixAudio7 =41001:7:1 //virtual device 7
    vdvMatrixAudio8 =41001:8:1 //virtual device 8
    vdvMatrixAudio9 =41001:9:1 //virtual device 9
    vdvMatrixAudio10 =41001:10:1 //virtual device 10
    vdvMatrixAudio11 =41001:11:1 //virtual device 11
    vdvMatrixAudio12 =41001:12:1 //virtual device 12
    vdvMatrixAudio13 =41001:13:1 //virtual device 13
    vdvMatrixAudio14 =41001:14:1 //virtual device 14
    vdvMatrixAudio15 =41001:15:1 //virtual device 15
    vdvMatrixAudio16 =41001:16:1 //virtual device 16

    Define_start
    DEFINE_MODULE 'AMX_Matrix_MiSeries_Comm_dr1_0_1' comm_code(vdvMatrixAudio1,dvMatrixAudioSerial)
  • felixmoldovanfelixmoldovan Junior Member Posts: 197
    Hi Raj.

    Try and use port 1 and increment on the vdv device number. The Netlinks documentation is very particular about virtual devices being on port 1. Also, your 41001 device number seems to be out of the recommended range for user defined devices.

    From the help file:
    A device is any hardware component that can be connected to the NetLinx bus.
    Each device must be assigned a unique number to locate that device on the bus.
    The Axcess language allows physical device numbers in the range 0-255.
    The NetLinx language allows numbers in the range 0-32767.
    Device 0 refers to the master; numbers above 32767 are reserved for internal use. 
    -------------
    Virtual devices carry a device number ranging from 32,768 to 36,863, a port number of 1, and a system number of 0. 
    
  • RajRaj Junior Member Posts: 53
    Hi Felix,
    AMX havent told anything abt using a different virtual device no. They have used 41001. Moreover the PASS THRU comand to that virtual device is working fine. All they have incremented was the port no. and i tried port 1 and 2 which is meant for the tuner. Did you any change in the module when you used it for your project.
  • ericmedleyericmedley Senior Member - 4000+ posts Posts: 4,177
    Raj wrote: »

    I didnt understand how to use the virtual variables.. vdvMatrixAudio1,vdvMatrixAudio2, vdvMatrixAudio3,vdvMatrixAudio4.. may thats y it aint working..

    and

    vdvMatrixAudio1 =41001:1:1 //virtual device 1
    vdvMatrixAudio2 =41001:2:1 //virtual device 2
    vdvMatrixAudio3 =41001:3:1 //virtual device 3
    vdvMatrixAudio4 =41001:4:1 //virtual device 4
    vdvMatrixAudio5 =41001:5:1 //virtual device 5
    vdvMatrixAudio6 =41001:6:1 //virtual device 6
    vdvMatrixAudio7 =41001:7:1 //virtual device 7
    vdvMatrixAudio8 =41001:8:1 //virtual device 8
    vdvMatrixAudio9 =41001:9:1 //virtual device 9
    vdvMatrixAudio10 =41001:10:1 //virtual device 10
    vdvMatrixAudio11 =41001:11:1 //virtual device 11
    vdvMatrixAudio12 =41001:12:1 //virtual device 12
    vdvMatrixAudio13 =41001:13:1 //virtual device 13
    vdvMatrixAudio14 =41001:14:1 //virtual device 14
    vdvMatrixAudio15 =41001:15:1 //virtual device 15
    vdvMatrixAudio16 =41001:16:1 //virtual device 16

    Define_start
    DEFINE_MODULE 'AMX_Matrix_MiSeries_Comm_dr1_0_1' comm_code(vdvMatrixAudio1,dvMatrixAudioSerial)


    The different vdv's represent the different zones on the unit. So, to ramp up the volume on zone three you 'on' channel 24 of vdvMatrix_Audio3. For zone 8 you'd 'on' channel 24 of vdvMatrixAudio8. etc...

    You might want to check the firmware version of the unit you have. Some of the channels you're addressing require firmware version 7 or better. You might have an older unit with older firmware.

    Another thing to is are you sure you're getting connection on the serail bus? You should get feedback from the unit if you send commands to it.
  • felixmoldovanfelixmoldovan Junior Member Posts: 197
    Mea culpa...
    I opened now the project where I used this and the devices are numbered as such (41001). I guess this might be one of the reasons these numbers are reserved...

    This was I believe my first MI and subsequently went from Duet to using the Netlinx module.
  • RajRaj Junior Member Posts: 53
    Hi Eric,
    How do i select a sourse. whihc variable should I use.Which variable should I use.
    How do i change the source and also do functions like seek up and down selecting different presets for a tuner.
    I'm using firmware version 8.04. and the model is MATRIX MI series. I'm using the correct port. The module is sending the firmware request. But the controller doesnt seems to be reply back. But i 'm getting the PASSTHRU to work. What could be the problem
  • RajRaj Junior Member Posts: 53
    Dear Felix,
    DId you get the code of your working previously
  • felixmoldovanfelixmoldovan Junior Member Posts: 197
    Hi Raj. Yes, the code is working to its full extent in that particular project. The reason I chose to use Netlinx instead (or direct strings to the device) is purely based on my programming patterns becoming more and more minimalistic.
  • RajRaj Junior Member Posts: 53
    Dear Felix,
    Can you please share your Netlinx module with me.
  • RajRaj Junior Member Posts: 53
    And to tell you.. The duet module keeps sending MVER to the port, but the controller doesnt give a response (firmware version). But if the port I assigned was wrong how could have the PASSTHRU comand work.
  • felixmoldovanfelixmoldovan Junior Member Posts: 197
    Sure Raj. Please review the attached.
  • ericmedleyericmedley Senior Member - 4000+ posts Posts: 4,177
    Raj wrote: »
    Hi Eric,
    How do i select a sourse. whihc variable should I use.Which variable should I use.
    How do i change the source and also do functions like seek up and down selecting different presets for a tuner.
    I'm using firmware version 8.04. and the model is MATRIX MI series. I'm using the correct port. The module is sending the firmware request. But the controller doesnt seems to be reply back. But i 'm getting the PASSTHRU to work. What could be the problem

    You send a command to the desired output port.

    This from the module documentation. It's a word doc that you should have.

    INPUT-<source>,<number>

    Set the current input source. This command should be issued on the port matching the room/zone you want to affect. The <source> parameter is not used by the module due to the device protocol and you may use it only as a place holder. The module will select the input according to the <number> parameter.

    <source> : INTERNAL TUNER,EXTERNAL TUNER, CD, DVD,
    SATELLITE, DELPHI XM, AUDIO SERVER, OTHER
    <number> : 1..8 = valid input source number
    0 = disconnect

    INPUT-INTERNAL TUNER,1 (connect to input 1)
    INPUT-INTERNAL TUNER,0 (disconnect)
Sign In or Register to comment.