aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA.h
blob: e660b450a0e063cd50ec431d1ef289befeb1256b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#ifndef FPGA_H
#define FPGA_H

int FPGA_Test();
int FPGA_Test_ReadBack(unsigned char FPGA_NUM, unsigned short Value, unsigned short *ReadBackValue);
int  FPGA_ReadVersion(unsigned char FPGA_NUM, unsigned char *Version, unsigned char *Year, unsigned char *Month, unsigned char *Day);
void FPGA_Init();
//void FPGA_Read_limit_Switches(void);
uint8_t Read_Fans_Tacho();

//uint32_t WHS_Read_Blower_Tach();

//uint32_t Dryer_Read_Blower_Tach();
void Control_Dryer_Fan_PWM(uint8_t PWM_Command_Precent);
void Machine_Idle_Breathing_Led();

uint32_t Read_Dryer_Fan_Tacho();

void Set_Speed_Sensor_TypeII_Registers(uint32_t Counter, uint32_t Prescaler);
uint32_t Read_Speed_Sensor_TypeII();

uint32_t Read_Screw_Encoder();//the value of Screw_RotEnc.Position is legal only when the status is OK
void Reset_Screw_Encoder();

typedef struct
{
    uint32_t Position;
    uint16_t Index_Counter; // This counter counts the amount of index pulses that have occurred since the last time the register was read.

}SCREW_ENC;

extern SCREW_ENC Screw_RotEnc;;

#endif //FPGA_H
ass="w"> public class WinderItem : TechItem { private static List<HardwareWinder> _winderConfigurations; /// <summary> /// Gets or sets the winder configurations. /// </summary> public static List<HardwareWinder> WinderConfigurations { get { return _winderConfigurations; } set { _winderConfigurations = value; } } static WinderItem() { WinderConfigurations = new List<HardwareWinder>(); foreach (var winderType in BL.ObservablesEntitiesAdapter.Instance.HardwareWinderTypes) { WinderConfigurations.Add(new HardwareWinder() { HardwareWinderType = winderType }); } } private HardwareWinderType _hardwareWinderType; /// <summary> /// Gets or sets the type of the hardware winder. /// </summary> [XmlIgnore] public HardwareWinderType HardwareWinderType { get { return _hardwareWinderType; } set { _hardwareWinderType = value; RaisePropertyChangedAuto(); TechName = _hardwareWinderType != null ? _hardwareWinderType.Description : null; ItemGuid = value != null ? value.Guid : null; if (_hardwareWinderType != null) { HardwareWinder = WinderConfigurations.SingleOrDefault(x => x.HardwareWinderType == _hardwareWinderType); } } } private HardwareWinder _hardwareWinder; /// <summary> /// Gets or sets the hardware winder. /// </summary> [XmlIgnore] public HardwareWinder HardwareWinder { get { return _hardwareWinder; } set { _hardwareWinder = value; RaisePropertyChangedAuto(); } } /// <summary> /// Initializes a new instance of the <see cref="WinderItem"/> class. /// </summary> public WinderItem() : base() { Name = "Winder"; Description = "Winder Controller"; Image = ResourceHelper.GetImageFromResources("Images/winder-small.png"); Color = Colors.White; HardwareWinder = new HardwareWinder(); } /// <summary> /// Initializes a new instance of the <see cref="WinderItem"/> class. /// </summary> /// <param name="winderType">Type of the winder.</param> public WinderItem(HardwareWinderType winderType) : this() { HardwareWinderType = winderType; } /// <summary> /// Clones this instance. /// </summary> /// <returns></returns> public override TechItem Clone() { WinderItem cloned = base.Clone() as WinderItem; cloned.HardwareWinderType = HardwareWinderType; return cloned; } } }