aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.CodeGeneration/Templates/EnumerationFile.cshtml
blob: 36154c3ec798a4aac223894d64f6c75d7e4a78cd (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
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Tango Observables Generator
// 
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated. Do not modify!
// </auto-generated>
//------------------------------------------------------------------------------

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.ComponentModel;

namespace Tango.BL.Enumerations
{
    public enum @(Model.Name)
    {
        @foreach (var prop in Model.Fields)
        {
    <div>
        /// <summary>
        /// (@prop.Description)
        /// </summary>
        [Description("@(prop.Description)")]
        @(prop.Name) = @(prop.Value),

    </div>
        }
    }
}
#ifndef DATADEF_H
#define DATADEF_H

#include <stdlib.h>
#include <stdint.h>
#include <stdbool.h>
#include <driverlib/gpio.h>
#include "common/report/report.h"

//#define EVALUATION_BOARD // to use the LCD only when using the evaluation board
//#define USE_USB
#define Stub_Mode 1
#define USE_HIGH_SPEED_GPIO // to use AHB GPIO (A..J) ports A-J APB or AHB, ports K-Q on AHB only
//#define  test_RTFU_dancer 1
//#define WithTempSensorFiltrer (to use the function Filter_Temparature_Measurement)
//#define DEBUG_TEST_FUNCTIONS
#define  HIZ_TIMEOUT 1000
//#define TEST_LONGER_PID_THREAD
//#define HUNDRED_MICROSECONDS_DANCER_READ
#define NO_INITIAL_HEATING
#define MAX_STRING_LEN              255 //Embedded  version + filter.c

//#define WATCHDOG
//#define DISPESER_TEST
//#define FPGA_WATCHDOG_DISABLE

//#define USE_POWERSTEP01 -NA

//#define EMC_FORCE_MOT_CLOCK_INTERNAL

//#define VAC_TEST

//#define SPECIAL_DISPENSERS
extern bool Special_Dispensers;
//#define Use_Head_Card //for real card only
//#define Use_WHS_Card //for real card only

#define I2C_2_Data_Transfer_Rate_400kbps
#define I2C_3_Data_Transfer_Rate_400kbps// Head card + WHS card
#define I2C_4_Data_Transfer_Rate_400kbps

#define MAX_ERR_SAMPLES 5 //Number of Samples before sending error
#define ERROR_TEMPERATURE_MEASUREMENT 0xFFFF

#define NFC_HARDWARE_RESET 0x01

//#define TEST_POWERSTEP01//send GATECFG parameters to work without sending parameters via machine studio

#define ON  1
#define OFF 0

#define INTERNAL 0
#define EXTERNAL 1

enum
{
    PASSED = 0,
    FAILED = 1,
    NOT_SUPPORTED = 254,
    VERIFIED = 255
};


#define OK       0
#define ERROR    1
#define WARNING  2

#define ENABLE  1
#define DISABLE 0

//Valves Directions:
#define MidTank_Dispenser     0
#define Dispenser_Mixer       1
#define Cartridge_MidTank_ON  1
#define Cartridge_MidTank_OFF 0
#define Atm_MidTank_ON        1
#define Atm_MidTank_OFF       0
//waste valve reversed
#define Mixer_Head            1
#define Mixer_Waste           0


#define NEW  0
#define USED 1

#define START 0
#define STOP  1
#define NOSTOP     2
#define CONTINUE   2

#define NOTBUSY 0
#define BUSY 1
//
// motor direction
#define CW  0 // clockwise
#define CCW 1 // counter clockwise

#define TRUE  1
#define FALSE 0

#define INPUT 0x0
#define OUTPUT 0x1

#define PULLDOWN 0
#define PULLUP   1

#define DOWN 0
#define UP   1

#define TX 0
#define RX 1
#define TXRX 2
#define ODD         0
#define EVEN        1

#define READY       0
#define NOTREADY    1
#define WAIT        2

#define LOW  0x0
#define HIGH 0x1
#define LOW_AND_HIGH 0x2

#define WR          0
#define RD          1

#define FLAGSTART   1
#define FLAGSET     1
#define FLAGCLEAR   0

#define IN              2
#define OUT             3

#define INIT 1
#define SKIP_INIT 0

#define byte uint8_t//char
#define boolean bool

#define SERIAL  0x0
#define DISPLAY 0x1

#define LSBFIRST 0
#define MSBFIRST 1

#define CHANGE 1
#define FALLING 2
#define RISING 3

#define CLOSE 0
#define OPEN  1

#define HEAD  0
#define WHS   1

#define DONE  1
#define UNKNOWN  0xFF

#define DRIER_LID_OPEN 0
#define DRIER_LID_CLOSE 2

#define DH_LID_OPEN 0
#define DH_LID_CLOSE 2

#define DOUBLE_BUFFER 2

#define STOPPED 0
#define MOVING 1

extern int InitFailures;

/*
#define CurrentMotDriver 0x08
#define VoltageMotDriver 0x00
#define CurrentCombinedMotDriver 0x0108 // 01 Combined Driver, 08 Current
#define VoltageCombinedMotDriver 0x0100 // 01 Combined Driver, 00 Voltage
#define CombinrdMotDriver 0x0300 // 03 Combined Driver + Combined Modes , 00 Voltage mode enabled
*/

typedef enum
{
    //Don't change the value!
    Current = 0x08,
    Voltage = 0x00,
}MOTDRIVER_MODE;

typedef enum
{
    Combinrd = 0x00,
    Current_Or_Voltage = 0x01,
}SPI_MOT_DRIVER_DIRECTION;

typedef enum
{
    UnKnownMotDriver,
    CurrentMotDriver,
    VoltageMotDriver,
    CombinrdMotDriver,
}MOTDRIVER_TYPE;


typedef enum
{
    High_Voltage,
    Normal_Voltage,
    Low_Voltage,
}PowerControlFlag;

//#define MagneticLImitSwitch 0x01

//#define FPGA_Reg_Size_Bits 16

#define FPGA_Freq 29166667

#define MIDTANK_DIRECTION 0
#define MIXER_DIRECTION   1

#define MASK_LOW_BYTE_IN_WORD  0x00FF;
#define MASK_HIGH_BYTE_IN_WORD 0xFF00;


#define STATUS_GREEN_LED_ON     ROM_GPIOPinWrite(GPIO_PORTN_BASE, GPIO_PIN_1, GPIO_PIN_1) //Turn ON STATUS Green LED
#define STATUS_RED_LED_ON       ROM_GPIOPinWrite(GPIO_PORTS_BASE, GPIO_PIN_0, GPIO_PIN_0) //Turn ON STATUS Red   LED

#define ACTIVITY_RED_LED_ON     ROM_GPIOPinWrite(GPIO_PORTN_BASE, GPIO_PIN_0, GPIO_PIN_0) //Turn ON ACTIVITY Red LED
#define ACTIVITY_GREEN_LED_ON   ROM_GPIOPinWrite(GPIO_PORTJ_BASE, GPIO_PIN_0, GPIO_PIN_0) //Turn ON ACTIVITY Green LED

#define COMM_RED_LED_ON         ROM_GPIOPinWrite(GPIO_PORTP_BASE, GPIO_PIN_4, GPIO_PIN_4) //Turn ON COMM Red LED
#define COMM_GREEN_LED_ON         ROM_GPIOPinWrite(GPIO_PORTJ_BASE, GPIO_PIN_1, GPIO_PIN_1) //Turn ON COMM Green LED

#define STATUS_GREEN_LED_OFF    ROM_GPIOPinWrite(GPIO_PORTN_BASE, GPIO_PIN_1, 0) //Turn OFF STATUS Green LED
#define STATUS_RED_LED_OFF       ROM_GPIOPinWrite(GPIO_PORTS_BASE, GPIO_PIN_0, 0) //Turn OFF STATUS Red   LED

#define ACTIVITY_RED_LED_OFF     ROM_GPIOPinWrite(GPIO_PORTN_BASE, GPIO_PIN_0, 0) //Turn OFF ACTIVITY Red LED
#define ACTIVITY_GREEN_LED_OFF   ROM_GPIOPinWrite(GPIO_PORTJ_BASE, GPIO_PIN_0, 0) //Turn OFF ACTIVITY Green LED

#define COMM_RED_LED_OFF        ROM_GPIOPinWrite(GPIO_PORTP_BASE, GPIO_PIN_4, 0) //Turn OFF Red LED LED
#define COMM_GREEN_LED_OFF        ROM_GPIOPinWrite(GPIO_PORTJ_BASE, GPIO_PIN_1, 0) //Turn OFF COMM Green LED

#define STATUS_GREEN_LED_CHANGE_MODE    ROM_GPIOPinWrite(GPIO_PORTN_BASE, GPIO_PIN_1, (ROM_GPIOPinRead(GPIO_PORTN_BASE, GPIO_PIN_1) ^  GPIO_PIN_1));
#define ACTIVITY_RED_LED_CHANGE_MODE    ROM_GPIOPinWrite(GPIO_PORTN_BASE, GPIO_PIN_0, (ROM_GPIOPinRead(GPIO_PORTN_BASE, GPIO_PIN_0) ^  GPIO_PIN_0));
#define COMM_RED_CHANGE_MODE            ROM_GPIOPinWrite(GPIO_PORTP_BASE, GPIO_PIN_4, (ROM_GPIOPinRead(GPIO_PORTP_BASE, GPIO_PIN_4) ^  GPIO_PIN_4));


#define BIT0  0x0001 //0x01 << 0
#define BIT1  0x0002 //0x01 << 1
#define BIT2  0x0004 //0x01 << 2
#define BIT3  0x0008 //0x01 << 3
#define BIT4  0x0010 //0x01 << 4
#define BIT5  0x0020 //0x01 << 5
#define BIT6  0x0040 //0x01 << 6
#define BIT7  0x0080 //0x01 << 7
#define BIT8  0x0100 //0x01 << 8
#define BIT9  0x0200 //0x01 << 9
#define BIT10 0x0400 //0x01 << 10
#define BIT11 0x0800 //0x01 << 11
#define BIT12 0x1000 //0x01 << 12
#define BIT13 0x2000 //0x01 << 13
#define BIT14 0x4000 //0x01 << 14
#define BIT15 0x8000 //0x01 << 15

#define BIT16 0x00010000 //0x01 << 16
#define BIT17 0x00020000 //0x01 << 17
#define BIT18 0x00040000 //0x01 << 18
#define BIT19 0x00080000 //0x01 << 19
#define BIT20 0x00100000 //0x01 << 20
#define BIT21 0x00200000 //0x01 << 21
#define BIT22 0x00400000 //0x01 << 22
#define BIT23 0x00800000 //0x01 << 23
#define BIT24 0x01000000 //0x01 << 24
#define BIT25 0x02000000 //0x01 << 25
#define BIT26 0x04000000 //0x01 << 26
#define BIT27 0x08000000 //0x01 << 27
#define BIT28 0x10000000 //0x01 << 28
#define BIT29 0x20000000 //0x01 << 29
#define BIT30 0x40000000 //0x01 << 30
#define BIT31 0x80000000 //0x01 << 31


#define MAX_PWM_Command 100

typedef enum
{
    //Don't change the value -  keep it according to the bits in F3_GPO_02_bus
    CART_1 = 1,
    CART_2  = 2,
    CART_3  = 3,
    //-------------
    POWER_ON_OFF,
    THREAD_JOGGING ,
    THREAD_LOAD ,
}PANEL_BUTTON_OR_CRAT_ID;

typedef enum
{
    MODE_OFF = 0,
    MODE_ON = 1,
}OPERATION_MODE;
/*
typedef enum
{
    //according to the bits of the leds in F3_GPO_01_bus
    ON_OFF = 1,
    THREAD_LOADING  = 2,
    JOGGING = 3,
}BUTTON;
*/
/*
typedef enum
{
    //According to the bits of the leds in F3_GPO_02_bus
    CART1 = 1,
    CART2  = 2,
    CART3 = 3,
}CARTREGE;
*/


typedef union
{
    struct
    {
        uint8_t DRAWER_BIG:1;   //bit 0
        uint8_t DRAWER_SMALL0:1;//bit 1
        uint8_t DRAWER_SMALL1:1;//bit 2
        uint8_t DRAWER_SMALL2:1;//bit 3
        uint8_t DRAWER_SMALL3:1;//bit 4
        uint8_t SYSTEM_FAN0:1;  //bit 5
        uint8_t SYSTEM_FAN1:1;  //bit 6
        uint8_t SYSTEM_FAN2:1;  //bit 7
    }bit;
    uint8_t Uchar;
}FANS_STATUS;

enum
{
    DRAWER_B,
    DRAWER_S0,
    DRAWER_S1,
    DRAWER_S2,
    DRAWER_S3,
    SYSTEM_0,
    SYSTEM_1,
    SYSTEM_2,
    MAX_FANS,
}FANS_ID;

//---------------------
#define MaxFlashWords 128 //1K
#define MaxFlashBytes MaxFlashWords*4 //4K Byte
#define MaxBytesForAddress 256 //The addresses to be programmed must not span a 256-byte boundary

extern char *SW_INFO_DIR;

typedef union
{
    uint32_t DWords[MaxFlashWords];
    uint8_t Bytes[MaxFlashBytes];
}Flash_Union;
//----------------------------




#define LIMIT    0 // Limit Switch
#define NO_LIMIT 1

#define No_Safety_Event       1
#define Safety_Event_Occurred 0

#define No_Over_Current_Event       1
#define Over_Current_Event_Occurred 0

//#define INVERSION_POLARITY_LIMIT    1 // Limit Switch
//#define INVERSION_POLARITY_NO_LIMIT 0

//Dyeing head types
typedef enum
{
    HEAD_TYPE_UNKNOWN,
    HEAD_TYPE_SYLKO_WITHOUT_CARD,
    HEAD_TYPE_UNKNOWN_WITH_CARD,
    HEAD_TYPE_SYLKO,
    HEAD_TYPE_STAPLE_SPUN,
}HEAD_TYPE;

extern uint8_t Head_Type;

//WHS types
typedef enum
{
    WHS_TYPE_UNKNOWN,
    WHS_TYPE_NEW,
}WHS_TYPE;

extern uint8_t WHS_Type;
extern uint8_t SmallFansCfg;
extern uint8_t LargeFansCfg;

bool Is_PP_Machine(void);

typedef enum
{
    DISP_TYPE_UNKNOWN,
    DISP_TYPE_WITHOUT_EEPROM,
    DISP_TYPE_EEPROM32KB,
    DISP_TYPE_EEPROM128KB,

}DISP_TYPE;

typedef enum
{
    DEFAULT_POLARITY = 0,//OPTIC_LS , MAGNETIC_LS CARD 2
    INVERSION_POLARITY = 1,//MAGNETIC_LS CARD 2 - must be 1 used for xor the polarity
}LS_POLARITY;

typedef enum
{
    LS_STATUS_OK = 0,
    LS_STATUS_ERROR = 1,
}LS_STATUS;

typedef enum
{
    HEAD_FAN_RIGHT,
    HEAD_FAN_LEFT,
    MAX_HEAD_FAN,
}HEAD_FAN_ENUM;

typedef enum
{
    OPEN_MAGNET,
    CLOSE_MAGNET,
    DISABLE_MAGNET
}MAGNET_COMMAND_ENUM;

/*
typedef union
{
    struct
    {
        uint32_t SN;            //0-4
        uint8_t  Version;       //5
        uint8_t  Content;       //6
        uint8_t  Location ;     //7
        uint8_t  Life_Time ;    //8
        uint32_t Calibration ;  //9-12
        uint32_t Spare ;        //13-15
    }bytes;
    uint8_t Buf[16];
}DISP_EEPROM;
*/

/*
////////////////////////////////////////////
typedef struct
{
    uint32_t  SN;
    uint32_t  Batch_Productions_data;
    uint32_t  Production_date;
    uint32_t  Dispenser_Part_Number;
    uint32_t  PCB_Serial;
    uint32_t  PCB_Version;
}DISPENSER_DATA;

typedef struct
{
    float  Humidity;
    float  Temperature;
}DISPENSER_TEST_AMBIENT;

typedef struct
{
    uint16_t  Current;
    uint16_t  Batch;
}DISPENSER_COLOR;

typedef struct
{
    float  Calibration0;
    float  Calibration1;
}DISPENSER_CALIBRATION_TABLE;

typedef struct
{
    DISPENSER_DATA Dispebser_Data;
    uint32_t Calibration_Test_Date ;
    uint32_t ATS_location_Slot ;
    uint32_t Nl_Pulse_Value ;
    uint32_t Flow_Pass_Fail ;
    DISPENSER_CALIBRATION_TABLE Calibration_table;
    uint32_t Test_TI_Batch;
    DISPENSER_COLOR     Color;
    DISPENSER_TEST_AMBIENT Test_Ambient;
    uint32_t Total_Cycles_Working_Time;
    uint32_t Spare[5];
}DISP_EEPROM_BYTES;


*/
#define MAX_SYSTEM_DISPENSERS 8

typedef struct
{
    uint32_t Header;
    uint32_t Table_Length;
    uint32_t Table_version;
    uint8_t  Dispenser_Part_Number[20];//String
    uint8_t  PCB_SN[20];//String
    uint8_t  PCB_Part_Number[20];//String
    uint8_t  Dispenser_SN[20];//String
    int32_t  Minimal_Pressure;
    int32_t  Maximal_Pressure;
    int32_t  Minimal_MV;
    int32_t  Maximal_MV;
    uint32_t Total_Cycles;
    uint32_t Bubble_Size;
    uint32_t AVG_Nl_Step_Value_1_4;
    uint32_t AVG_Nl_Step_Value_2_4;
    uint32_t AVG_Nl_Step_Value_3_4;
    uint32_t AVG_Nl_Step_Value_4_4;
    uint32_t SW_Reserve;
    int32_t  Spare1_pressure;
    int32_t  Spare2_pressure;
    uint32_t Motor_PPC;
    uint32_t color;
    uint32_t Pressure_Slope;
    uint8_t  Production_Test_Date[8];//string
    uint32_t ATS_Location;
    uint32_t ATS_Channel;
    uint32_t Spare1;
    uint32_t Spare2;
    uint8_t  Unit_Empty;
    uint8_t  Dry_Run_Status;
    uint8_t  Flow_Status;
    uint8_t  CheckSum;
}DISP_EEPROM_BYTES;

typedef union
{
    DISP_EEPROM_BYTES bytes;
    uint8_t Buf[sizeof(DISP_EEPROM_BYTES)];
}DISP_EEPROM;
////////////////////////////////////////////
typedef struct
{
    DISP_TYPE Type;
    LS_POLARITY LS_Polarity;
    DISP_EEPROM Write_Disp_EEPROM;
    DISP_EEPROM Read_Disp_EEPROM;
    LS_STATUS Status;
}DISP;

DISP Dispenser_struct[8];

//SPI
typedef struct //S_SPI
{
    //unsigned char MotID; //- TODO to remove this field
    unsigned int TX_MOSI; //32bit (Master Output Slave Input )
    unsigned int RX_MISO; //24bit (Master Input  Slave Output)
    //unsigned int BUSY;    //32bit
    unsigned char AMT_OF_Words:3; //The amount of spi words (usually byte sized) per transmission (send 4 to 32bit)

}SPI;//SPI



#define SSI_SPI_TIMEOUT 1000

extern void  *my_malloc(size_t _size);
extern void   my_free(void *_ptr);
extern uint32_t msec_millisecondCounter;
//---------------------------------------------------------------------
#pragma diag_suppress 169 /*  Avoid warnings on VOID * conversions (protobuf issue)
The warning:
#169-D argument of type "size_t (*)(const CalculateResponse *, uint8_t *)" is incompatible with parameter of type "size_t (*)(void *, uint8_t *)"   Calculate.c /twine_usblib_demo/PMR/Stubs    line 53 C/C++ Problem


//#pragma diag_suppress 190 // Avoid the warning - #190-D enumerated type mixed with another type    protobuf-c.c
 *
or in the environment add command line:

Project -> properties ->
Press on show advanced settings
CCS Build ->
Advanced Options ->
Diagnistic Options ->
Add the warning number in
Supports diagnostic <id> (--diag_suppress, - pds)
169
190
*/

//Project Properties->Build->Compiler->Include Options
//There may be paths there relative to a build variable, rather than hard-coded paths, that may be triggering the error.
//machine 2 only!!!!!!!!!!!
//#define HEAD6_PT100 TEMP_SENSE_ANALOG_MIXCHIP_TEMP
//#define MIXER_PT100 TEMP_SENSE_AN_ENCLOSURETEMP3
//machine 2 only!!!!!!!!!!!
#define HEAD6_PT100 TEMP_SENSE_AN_ENCLOSURETEMP3
#define MIXER_PT100 TEMP_SENSE_ANALOG_MIXCHIP_TEMP

#define LUBRICANT_DISPENSER 7
#define CLEANER_DISPENSER 6
//#define AUTO_HOME_DISPENSERS
#define MAX_CARTRIDGES 3

typedef enum
{
    MIDTANK_1,
    MIDTANK_2,
    MIDTANK_3,
    MIDTANK_4,
    MIDTANK_5,
    MIDTANK_6,
    MIDTANK_7,
    MIDTANK_8,
    NUM_OF_MIDTANKS,
} MidTank_t;


extern PackageHandle ControlFilter;
extern PackageHandle HeatersFilter;
extern PackageHandle JobFilter  ;
extern PackageHandle WasteFilter  ;
extern PackageHandle AlarmFilter  ;
extern PackageHandle DiagnosticsFilter;
extern PackageHandle IDSFilter;
extern PackageHandle ThreadFilter;
extern PackageHandle GeneralFilter;
extern PackageHandle CommFilter;
extern PackageHandle FPGAFilter;
extern PackageHandle LoadFilter;
extern PackageHandle InitFilter;
extern PackageHandle MaintFilter;

#ifndef max
    #define max(a,b) ((a) > (b) ? (a) : (b))
#endif
#ifndef min
    #define min(a,b) ((a) < (b) ? (a) : (b))
#endif

#endif /* DATADEF_H */