- 
                Notifications
    
You must be signed in to change notification settings  - Fork 0
 
State Machine
        Tobias Wenzel edited this page Aug 27, 2020 
        ·
        8 revisions
      
    To implement the droplet sorting functionality a so called state machine was used. The concept relies on states that perform actions and specific conditions that determine when a transition from one state into another should happen.
The FADS state machine has the following six states depicted in the UML diagram.

Note that the states also correspond to the equally numbered LED on the RedPitaya, where the state can be notified visually in real-time.
- On 
fads_reset- regardless of the current state, 
fads_resetwill always land here. - resets all counters to 0
 
 - regardless of the current state, 
 - Waits for 
droplet_acquisition_enable 
- Waits until intensity rises over 
min_intensity_threshold - Starts droplet acquisition once intensity is reached
 
- Updates 
droplet_intensity_maxwith new maximum intensity values for this droplet - Continually increments 
droplet_width_counterfor this droplet - Until intensity falls again below 
min_intensity_threshold 
- increments the respective counters for positive/negative, long/short and high/low intensity droplets
 - updates the output registers with 
droplet_id,cur_droplet_intensityandcur_droplet_width- keep logging caveats in mind!
 
 - starts sorting delay
 
- Variable delay (
sort_delay) until droplet reaches sorting junction 
- Activates 
sort_trigfor a variable duration (sort_duration) 
The sort_trig signal can be used by the asgs widget as a trigger source
called fads to turn on the signal generator for the duration.