4b825dc642cb6eb9a060e54bf8d69288fbee4904ebd360ec63ec976c05699f3180e866b3f69e5472
 
 
1
#ifndef _bh_fan_h_
 
 
2
#define _bh_fan_h_ 1
 
 
3
 
 
 
4
void FanBehaveInit(void* bhdata, STRATEGYBLOCK* sbptr);
 
 
5
void FanBehaveFun(STRATEGYBLOCK* sbptr);
 
 
6
 
 
 
7
typedef struct fan_behav_block
 
 
8
{
 
 
9
    AVP_BEHAVIOUR_TYPE bhvr_type;
 
 
10
 
 
 
11
    unsigned int spinning:1;
 
 
12
 
 
 
13
    TRACK_CONTROLLER* track;
 
 
14
 
 
 
15
    int speed_up_mult; //one over time take to get to full speed
 
 
16
    int slow_down_mult;    //one over time take to stop
 
 
17
    int speed_mult;    //0 to one_fixed : current speed relative to full speed
 
 
18
 
 
 
19
    VECTORCH fan_wind_direction; //normalised vector
 
 
20
    int fan_wind_strength; //fixed point multiplier for fan at full speed
 
 
21
 
 
 
22
    int wind_speed;//fixed point multiplier , taking the fan's current speed into account
 
 
23
 
 
 
24
} FAN_BEHAV_BLOCK;
 
 
25
 
 
 
26
typedef struct fan_tools_template
 
 
27
{
 
 
28
    char nameID[SB_NAME_LENGTH];
 
 
29
    VECTORCH position;
 
 
30
    EULER orientation;
 
 
31
    int speed_up_mult; //one over time take to get to full speed
 
 
32
    int slow_down_mult;    //one over time take to stop
 
 
33
    TRACK_CONTROLLER* track;
 
 
34
    VECTORCH fan_wind_direction; //normalised vector
 
 
35
    int fan_wind_strength; //fixed point multiplier
 
 
36
 
 
 
37
} FAN_TOOLS_TEMPLATE;
 
 
38
 
 
 
39
#endif