Welcome Guest,Register Now
Log In

ANT Forum

Welcome guest, please Login or Register

   

Multiple Data channels on SensrCore

RankRankRankRank

Total Posts: 523

Joined 2012-11-15

PM

I am messing with loading the NVM on an AT3 module.

My set up is i have a sensor with 3 analog outputs, w/Analog 1 -> AIO0, Analog 2 -> AIO1, and Analog 3 -> AIO2. i am also using the Ant Battery Board.

Attached is the NVM Script with the commands that i think are correct, with it sending the temp and voltage readings also. The second attachment is a single analog input being sampled, which works.

I am just wondering if my first script is correct or if i am missing something. When i test the script i only get pin 0 i don't get the other pins.

//Other set up signals
C [93][00][00][20]
//Data Channels
C [91][00][00][41][00][01][00]
C [91][00][01][41][01][01][01]
C [91][00][02][41][02][01][02]
C [91][00][03][41][FF][01][03]
C [91][00][04][41][FE][01][04]
C [94][00][00][F8][01][04][00][00]
C [94][00][01][F8][01][04][00][00]
C [94][00][02][F8][01][04][00][00]
C [94][00][03][F8][01][04][00][00]
C [94][00][04][F8][01][04][00][00]
//Transmission Channels
C [42][00][10][00]
C [51][00][31][00][01][05]
C [43][00][00][20]
C [45][00][42]
C [60][00][03]
C [4B][00]

Single Data Channel that Works

C [93][00][00][20]
C [91][00][00][41][00][01][00]
C [94][00][00][F8][01][04][00][00]
C [42][00][10][00]
C [51][00][31][00][01][05]
C [43][00][00][20]
C [45][00][42]
C [60][00][03]
C [4B][00]      
RankRankRankRank

Total Posts: 523

Joined 2012-11-15

PM

You have the message ratios all set to one - which means they all want to transmit at the same message period. To have them coming out one after the other set the message ratio to 5, which means that each message will come out every 5 message periods. The message ratio will determine the order they come out in. Like so:

C [91][00][00][41][00][05][00] // First message
C [91][00][01][41][01][05][01] // Second message
C [91][00][02][41][02][05][02] // Third message
C [91][00][03][41][FF][05][03] // Fourth message
C [91][00][04][41][FE][05][04] // Fifth message

Alternatively, if you don't need temperature and battery every fifth message and want to get the other analog data a little more often, you could set the message ratio of the AIO channels to 3 and the temperature and voltage to something like 20 (every 20 messages). Whenever there is a contention, the message with the highest message ratio wins (so on the 20 message you would miss the AIO message that would normally come out).


C [91][00][00][41][00][03][00] // First message
C [91][00][01][41][01][03][01] // Second message
C [91][00][02][41][02][03][02] // Third message
C [91][00][03][41][FF][16][03] // Fourth message
C [91][00][04][41][FE][16][04] // Fifth message

.. the temperature and voltage would come out every 20 messages and the AIO message would come out every 3 messages, like so:

Recv(0): [41][00][FA][00][E9][E8][40][E9] // AIO0
Recv(0): [41][00][CD][01][F2][F2][80][F2] // AIO1
Recv(0): [41][00][22][02][F4][F3][80][F3] // AIO2
Recv(0): [41][00][FD][00][E9][E8][40][E9] // AIO0
Recv(0): [41][00][D0][01][F2][F2][80][F2] // AIO1
Recv(0): [41][00][25][02][F4][F3][80][F3] // AIO2
Recv(0): [41][00][00][00][E9][E8][40][E9] // AIO0
Recv(0): [41][00][D3][01][F2][F2][80][F2] // AIO1
Recv(0): [41][00][28][02][F4][F3][80][F3] // AIO2
Recv(0): [41][00][03][00][E9][E8][40][E9] // AIO0
Recv(0): [41][00][D6][01][F2][F2][80][F2] // AIO1
Recv(0): [41][00][2B][02][F4][F3][80][F3] // AIO2
Recv(0): [41][00][06][00][E9][E8][40][E9] // AIO0
Recv(0): [41][00][D9][01][F2][F2][80][F2] // AIO1
Recv(0): [41][00][2E][02][F4][F3][80][F3] // AIO2
Recv(0): [41][00][09][00][E9][E8][40][E9] // AIO0
Recv(0): [41][00][DC][01][F2][F2][80][F2] // AIO1
Recv(0): [41][00][31][02][F4][F3][80][F3] // AIO2
Recv(0): [41][00][D9][FF][EC][EA][80][EB] // voltage
Recv(0): [41][00][01][FE][20][1D][31][0C] // temperature
Recv(0): [41][00][34][02][F4][F3][80][F3] // AIO2
Recv(0): [41][00][0F][00][E9][E8][40][E9] // AIO0
Recv(0): [41][00][E2][01][F2][F2][80][F2] // AIO1
Recv(0): [41][00][37][02][F4][F3][80][F3] // AIO2
Recv(0): [41][00][12][00][E9][E8][40][E9] // AIO0
Recv(0): [41][00][E5][01][F2][F2][80][F2] // AIO1
Recv(0): [41][00][3A][02][F4][F3][80][F3] // AIO2
Recv(0): [41][00][15][00][E9][E8][40][E9] // AIO0
Recv(0): [41][00][E8][01][F2][F2][80][F2] // AIO1
Recv(0): [41][00][3D][02][F4][F3][80][F3] // AIO2
Recv(0): [41][00][18][00][E9][E8][40][E9] // AIO0
Recv(0): [41][00][EB][01][F2][F2][80][F2] // AIO1
Recv(0): [41][00][40][02][F4][F3][80][F3] // AIO2
Recv(0): [41][00][41][02][F4][F3][80][F3] // AIO2
Recv(0): [41][00][E9][FF][EC][EB][80][EB] // voltage
Recv(0): [41][00][11][FE][1F][1D][31][0C] // temperature


Otherwise your script is correct.