Welcome Guest,Register Now
Log In

ANT Forum

Welcome guest, please Login or Register

You are here: Forum Home → ANT+ Forums → ANT+ Bike Lights → Thread

   

Garmin RTL515 light does not accept new mode via page34

Rank

Total Posts: 23

Joined 2019-05-06

PM

I am not sure if this is a correct place to post following question, so pardon me if not.

I am adding support for RTL515 light sensor to bike computer. Bike computer can successfully pair with RTL515 light sensor, get capabilities and actually does everything except setting light mode...
To set light mode I am sending page34 based on ANT+ Managed Network Document – Bike Lights Device Profile, Rev 2.0_M.001.
RTL515 ignore all my requests and only allow to change mode using a button located at radar.
I have also another light sensor, Gaint Recon and light modes can be set exactly as spec says.

My question is: does RTL515 allow to set beam mode via ANT? If it does, does it use page34 or some custom page?

Also I have noticed that RTL515 sends page7 which is reserved for future use (quite strange).
This make me think that RTL515 can also use other custom pages one of which may set light mode.      
RankRankRankRank

Total Posts: 370

Joined 2012-06-27

PM

Garmin has implemented a pairing mode that needs to be entered before first connecting the controller. See https://www8.garmin.com/manuals/webhelp/GUID-C41F445D-457F-447D-88C8-FE286BF157E9/EN-US/GUID-83345F4C-DAC5-437D-A10F-1EE92E92B980.html for details about the button press requirements on the light. The controller needs to connect and start controlling the light while it is in pairing mode, and the light will continue to accept control from the same controller after the light leaves pairing mode.      

Signature

Ian Haigh

Rank

Total Posts: 23

Joined 2019-05-06

PM

Can you please elaborate on "The controller needs to connect"? Controller in my case sends ANT page33 to Varia lights to connect, but this does not seem to have any effect because LED on lights is still flashing blue and control commands are not accepted.
This is an example of page33 which is sent to light sensor:
light_index 1;             // NOTE: main light
seclights 0xFF;          // NOTE: secondary lights are not supported
controller_id 1;           // NOTE: random value
sublight_idx 0;            // NOTE: main light
light_state ANT_LIGHT_BASIC_MODE_INVALID// NOTE: do not change light state
light_type ANT_LIGHT_TYPE_TAIL// NOTE: tail lights
main_light_idx 0;        // NOTE: secondary light mode not supported
transmission_type 0;  // NOTE: secondary light mode not supported 

What am I missing here?      
RankRankRankRank

Total Posts: 370

Joined 2012-06-27

PM

At the above link it is described how to put the light in pairing mode. The light will be flashing purple, and the connect command (page 33) will work.      

Signature

Ian Haigh

RankRankRankRank

Total Posts: 122

Joined 2010-10-25

PM

So will the RTL515 and RTL615 not work correctly as per the spec with multiple head units? Getting things to work with multiple head units and have the second take over if the first stops was a right pain coding and testing wise.      
RankRankRankRank

Total Posts: 370

Joined 2012-06-27

PM

The Garmin lights support pairing to multiple controllers. Enter pairing mode and connect to controller 1, then later enter pairing mode to connect to controller 2. Controller 1 or controller 2 will be able to act as the controller the next time the light is turned back on.      

Signature

Ian Haigh

Rank

Total Posts: 23

Joined 2019-05-06

PM

@haighi when I power on the Varia, it starts flashing purple. I am then sending Page33 to connect. After that I try setting the mode and it does not change.

How should I understand that Connect command works? By looking at LED? It is always flashing purple.      
RankRankRankRank

Total Posts: 370

Joined 2012-06-27

PM

@Ros

Can you confirm that the light is not connected to another controller (light index == 0)? If the light is already connected to a controller it will ignore page 33. See section 5.2 of the profile document for details about how to form the network in the various cases.

The first thing to check is that you are getting an ack back for page 33 sent as an acknowledged message. If you are not getting the ack, then you may want to try sending multiple times or move the devices closer together. After the ack you will see that the light begins transmitting the light index you assigned to it if the command was accepted. See figure 5-2 and 5-3 for expected sequences.

Note: You do not need to form a network with page 33 before sending page 34. "An ANT+ bike light controller may connect to up to 8 bike lights at the same time using independent channels." "An ANT+ controller is required to be able to configure a channel as described in section 6.1, and send command page 34. It is recommended that an ANT+ controller is also able to receive and understand all the main data pages, and be able to transmit command pages 32 and 33." Edit: Also see section 5.6       [ Edited: 07 August 2020 01:13 PM by haighi ]

Signature

Ian Haigh

Rank

Total Posts: 23

Joined 2019-05-06

PM

Looks like my light sensor has light index already set to some random value. After I have sent Page32 to reset sensor to defaults, I was able to update the light mode via Page34 (light index was set to 0 which mean all lights).

I did more testing and if I set sensor light index to, say 10, then page34 has no effect (if page34 light index is 0).
Thus I think that each time light sensor is paired it is important to first send disconnect command (page32) before sending page34. Is that correct?      
RankRankRankRank

Total Posts: 370

Joined 2012-06-27

PM

If the light index is set to a value already, then your light is already part of a network. Do you have another device paired to the light already?

It is not recommended that you just send page 32 as this will disrupt the network established by the other controller.

You can follow section 5.6 to control the single light independently. You will be sending page 34 without having sent page 33 in this case. The light must be in pairing mode (flashing purple), or have already accepted a command from your controller while in pairing mode, to accept page 34.

You can also follow section 5.2.2.1 if you wish to control the already established network instead of just the single light. With explicit user interaction, from a prompt and selection for example, you may follow section 5.2.2.2. You may run into issues with two controllers fighting over the network formation if you follow 5.2.2.2, the user prompt is intended to help with this.      

Signature

Ian Haigh

RankRankRankRank

Total Posts: 370

Joined 2012-06-27

PM

I have tried reproducing "I did more testing and if I set sensor light index to, say 10, then page34 has no effect (if page34 light index is 0)." and have been unsuccessful. An RTL that is already part of a network, and is assigned a light index of 2, is accepting a page 34 command with light index set to 0.

I was following section 5.6.      

Signature

Ian Haigh

RankRankRankRank

Total Posts: 370

Joined 2012-06-27

PM

Can you share what exactly you are sending for page 34 and how you are confirming it is not handled?

If you are able to share logs of the traffic collected by opening a scanning channel in ANTwareII, then I may be able to help determine what is happening.      

Signature

Ian Haigh

Rank

Total Posts: 23

Joined 2019-05-06

PM

Ian, RTL sensor was bought new and there is no other controller which could set light network for this sensor.
When I first set up this sensor I have sent it page 33 to configure light index to 1. After that I was trying to send page 34 to configure beam mode, but beam remained off. So I suppose that this sensor had already been assigned some light index different than 1. In this case sensor was probably ignoring my attempts to set index to 1 and thus when sensor received page 34 with index 1 it also has ignored this.

After following your suggestion to double check light index, I have cleared sensor settings by sending page 32. After that I was able to set beam mode.

Thanks to your reply it is now clear that pages 32, 33 are used for establishing light network and they are not required if light sensor is planned to be controlled as a standalone unit. This is actually what I currently need: being able to control sensor via separate broadcast channels.
BTW, paragraph 5.6 of Lights Device Profile Rev 2.0_M.001 does not provides details about controlling lights via the broadcast channel.
Am I using outdated version of document?
     
Rank

Total Posts: 23

Joined 2019-05-06

PM

Speaking about whether or not light sensor will accept page 34 requests if it is already a part of a network, I must say that as I do not have another controller that can form a network, I was just sending page 33 with light index 2 to light sensor. After that I tried sending page 34 with light index 0 and expected to see new beam mode, but it does not change.
Probably I need to first get some controller which can form a network and then try again.      
Rank

Total Posts: 23

Joined 2019-05-06

PM

Ian, can you please elaborate what commands from controller does RTL expects while in pairing mode?
Is it enough to send single page34 request so that RTL pair with this controller?      
RankRankRankRank

Total Posts: 370

Joined 2012-06-27

PM

"So I suppose that this sensor had already been assigned some light index different than 1." If you don't have any bike computers, watches, etc around this is most likely the result of some command you sent in error. Lights will not form a network unless they are commanded to do so, and will timeout if the controller does not maintain the network (see 5.2.4). Note: Some controllers may automatically pair to lights that are in close proximity without user interaction.

"5.6 of Lights Device Profile Rev 2.0_M.001 does not provides details about controlling lights via the broadcast channel": Section 5.6 just describes the process of pairing to the broadcast channel and sending whatever commands you wish. The details of each currently supported command page are in sections 7.16, 7.17, 7.18, and 7.19.

"I was just sending page 33 with light index 2 to light sensor. After that I tried sending page 34 with light index 0 and expected to see new beam mode, but it does not change": I have not been able to reproduce this behavior either. You may be encountering the condition where the network times out just after you send your page 34, causing your commanded changes to be overwritten. You should be able to see this by looking at the light index transmitted from the light as the light index going from 0 to 2 to 0. I almost hit this case in my testing. The light changed only momentarily to be on, and then turned back off.

"Ian, can you please elaborate what commands from controller does RTL expects while in pairing mode?
Is it enough to send single page34 request so that RTL pair with this controller?": A single page 32, or 33, or 34 (the pages with controller id) properly formatted such that the light accepts it while in pairing mode is sufficient. Check the light index for connect and disconnect command acceptance and see 5.4.1 for determining setting command acceptance.      

Signature

Ian Haigh