Skip to content

setFilter#

Command description#

The command setFilter command moves a filter to ONLINE position.
The filter is selected through its ID.

Synopsis#

setFilter <filter_id>

where <filter_id> is the id of the filter to move ONLINE.

Example#

If we want to put filter G ONLINE, as id of filter G is 3 :

setFilter 3

If another filter is on autochanger trucks, it stores this filter on the carousel, then moves empty autochanger trucks to HANDOFF position. Then it rotates the carousel in order to put the required filter at STANDBY position. Then autochanger trucks move to STANDBY, latches are closed. Carousel unlocks the clamps. And eventualy autochanger trucks moves the required filter to ONLINE.

Conditions to execute setFilter command#

Command setFilter is available only for whole subsystem fcs, when carousel and autochanger are on the same CANbus.

To be able to execute setFilter commands, all the following conditions must be respected :

  • the filter id given as argument must exist, and the required filter must be on the camera, on autochanger or on carousel.
  • loader is not connected
  • all the CAN open devices for subsystems carousel and autochanger must be present on the CANbus and responding
  • no motor controller is in default mode
  • carousel is stopped at STANDBY position and there is no error on the clamps sensors
  • autochanger trucks are stopped at position : ONLINE, HANDOFF or STANDBY
  • there is no error on trucks position sensors, latches, online clamps and inclinometers.
  • if a filter is on autochanger trucks at HANDOFF or ONLINE, the carousel socket at STANDBY position must be empty and in state : READY_TO_CLAMP, the autochanger latches must be CLOSED
  • if a filter it on autochanger trucks at STANDBY position, the carousel or the autochanger must hold the filter : latches must be in state CLOSED or carousel clamps must be CLAMPEDONFILTER
  • if a filter is at ONLINE, the online clamps must be in state LOCKED
  • When command setFilter is launched, all these conditions above are checked.

If one of this conditions is not respected, the FCS FilterReadinessState is set to NOT_READY and the command setFilter is rejected.

Condition non respected Action to perform FCS command Expected result FCS command to check result
loader is connected loader must be disconnected loader/isConnectedOnCamera
response: FALSE
error on sensors See hardware recovery procedure human intervention is required to change or repair sensors in error sensors are no more in error
a CAN open device is not powered on or does no respond on CAN bus check and repair CANbus cable, electric power initializeHardware FilterReadinessState should be READY fcs/getFilterReadinessState
response: READY
a motor controller is in fault send a command to the controller to reset the fault controller/faultReset the controller is no more in fault controller/checkFault
carousel is not stopped at STANDBY rotate carousel in order to put it at STANDBY position carousel/rotateSocketToStandby carousel should be stopped at STANDBY carousel/isAtStandby
response: true
a filter is on autochanger trucks and trucks are in state IN_TRAVEL
AND the filter on autochanger is the one we want to put at ONLINE,
AND the filter is free to move
move filter to ONLINE autochanger/moveAndClampFilterOnline filter is at ONLINE autochanger/isAtOnline
response: TRUE
a filter is on autochanger trucks and trucks are in state IN_TRAVEL
AND the filter on autochanger is the NOT the one we want to put at ONLINE
AND carousel socket at STANDBY is empty
store filter on carousel storeCurrentFilterOnCarousel filter is on carousel at STANDBY carousel/isAtStandby
response: TRUE
The Filter is on Auto Changer at Stand-By position
AND The filter is locked on the Carousel clamps One of the latches or the two latches are in TRAVEL
close the Latches autochanger/closeLatches latches are closed latches/isClosed
response: true

Commands useful for setFilter recovery#

setFilter command is a sequence of lower level commands.
Each of this lower level commands can be launched individualy.

setFilter sub-commands sequence#

Seq # Target component Command name
1 fcs storeFilterOnCarousel
2 carousel rotateSocketToStandby
arg : socket name
3 autochanger grabFilterAtStandby
4 fcs disengageFilterFromCarousel
5 autochanger moveAndClampFilterOnline

Subsystems state during sequence#

Autochanger states#

Command name Initial State Final State
storeFilterOnCarousel old filter at HANDOFF
onlineClamps OPEN
or
old filter at ONLINE
onlineClamps LOCKED
empty at HANDOFF
onlineClamps OPEN
rotateSocketToStandby
arg : socket name
empty at HANDOFF empty at HANDOFF
grabFilterAtStandby empty at HANDOFF
latches OPEN
new filter at STANDBY
latches CLOSED
disengageFilterFromCarousel new filter at STANDBY
latches CLOSED
new filter at approachStandbyPosition
moveAndClampFilterOnline new filter at approachStandbyPosition new filter at ONLINE
onlineClamps LOCKED
Command name Initial State Final State
storeFilterOnCarousel empty socket at STANDBY
clamps READYTOCLAMP
old filter at STANDBY
clamps CLAMPEDONFILTER
rotateSocketToStandby
arg : socket name
old filter at STANDBY
clamps CLAMPEDONFILTER
new filter is at STANDBY
clamps CLAMPEDONFILTER
grabFilterAtStandby new filter at STANDBY
clamps CLAMPEDONFILTER
new filter at STANDBY
clamps CLAMPEDONFILTER
disengageFilterFromCarousel new filter at STANDBY
clamps CLAMPEDONFILTER
empty socket at STANDBY
clamps READYTOCLAMP
moveAndClampFilterOnline empty socket at STANDBY
clamps READYTOCLAMP
empty socket at STANDBY
clamps READYTOCLAMP