aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.h
blob: 297ce1efef0afdbc7a04c92da3f2bfed5f2501d0 (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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
/*
 * MCU_E2Prom.h
 *
 *  Created on: Jul 21, 2019
 *      Author: shlomo
 */

#ifndef DRIVERS_FLASH_RAM_MCU_E2PROM_H_
#define DRIVERS_FLASH_RAM_MCU_E2PROM_H_

typedef enum {
    EEPROM_STORAGE_DATA_SIZE,
    EEPROM_STORAGE_DANCER_0,
    EEPROM_STORAGE_DANCER_1,
    EEPROM_STORAGE_DANCER_2,
    EEPROM_STORAGE_DRYER_CENTER,
    EEPROM_STORAGE_DRYER_CYCLES,
    EEPROM_STORAGE_MIDTANK_1_A,
    EEPROM_STORAGE_MIDTANK_1_B,
    EEPROM_STORAGE_MIDTANK_2_A,
    EEPROM_STORAGE_MIDTANK_2_B,
    EEPROM_STORAGE_MIDTANK_3_A,
    EEPROM_STORAGE_MIDTANK_3_B,
    EEPROM_STORAGE_MIDTANK_4_A,
    EEPROM_STORAGE_MIDTANK_4_B,
    EEPROM_STORAGE_MIDTANK_5_A,
    EEPROM_STORAGE_MIDTANK_5_B,
    EEPROM_STORAGE_MIDTANK_6_A,
    EEPROM_STORAGE_MIDTANK_6_B,
    EEPROM_STORAGE_MIDTANK_7_A,
    EEPROM_STORAGE_MIDTANK_7_B,
    EEPROM_STORAGE_MIDTANK_8_A,
    EEPROM_STORAGE_MIDTANK_8_B,
    //EEPROM_STORAGE_SERIAL_NUM,
    //EEPROM_STORAGE_MAC_ADDR,
    EEPROM_STORAGE_WINDER_CALIBRATION,
    EEPROM_STORAGE_EMBEDDED_VERSION,
    EEPROM_ALARM_SUPPORT,
    EEPROM_ORIFICE1_ZERO_VALUE,
    EEPROM_ORIFICE3_ZERO_VALUE,
    EEPROM_LOCAL_TIME,
    EEPROM_PULLER_TENSION_POSITION,
    EEPROM_WINDER_TENSION_POSITION,
    EEPROM_INIT_FAILURE_COUNTER,
    EEPROM_STORAGE_DANCER_3,
    EEPROM_STORAGE_DANCER_4,
    EEPROM_PRESSURE_SENSOR_V0_0,
    EEPROM_PRESSURE_SENSOR_V0_1,
    EEPROM_DRIER_LOADING_ARM_ANGLE,
    EEPROM_BTSR_FEEDING_TENSION,
    EEPROM_BTSR_EXIT_TENSION,
    EEPROM_BTSR_TYPE,
    EEPROM_BTSR_APPLICATION,
    EEPROM_BTSR_TENSION_ERROR,
    EEPROM_BTSR_LENGTH_OFFSET,
    EEPROM_BTSR_SPOOL_TENSION,
    MAX_EEPROM_STORAGE
}EEPROM_STORAGE_USAGE_ENUM;
#define MAX_SERIAL_NUM_LEN 5 //5*4 bytes
#define MAX_MAC_ADDR_LEN 2 //2*4 bytes
/*typedef enum {
    SERIAL_NUM_ADDR = EEPROM_STORAGE_SERIAL_NUM,
    MAC_ADDR_ADDR  = (SERIAL_NUM_ADDR + MAX_SERIAL_NUM_LEN),
    DRYER_BACKLASH_ADDR = (MAC_ADDR_ADDR + MAX_MAC_ADDR_LEN),
    EMBEDDED_VERSION_ADDR,
    ALARM_SUPPORT_ADDR,
    ORIFICE1_ZERO_VALUE_ADDR,
    ORIFICE3_ZERO_VALUE_ADDR,
}EEPROM_ADDRESSES;*/

#define EEPROM_RESET_REASON_HEAD_ADDRESS 300
#define EEPROM_RESET_REASON_MAX_DATA 80

#define DISPENSERS_MAP_IN_EEPROM 0x200
#define PROCESS_PARAMATERS_IN_EEPROM 0x400

uint32_t MCU_E2PromProgramChunk(int Address,uint16_t Length,uint32_t Data);
uint32_t MCU_E2PromReadChunk(int Address,uint16_t Length,uint32_t *Data);

void MCU_E2PromUpdateResetReason(int i);


uint32_t MCU_E2PromProgram(int Address,uint32_t Data);
uint32_t MCU_E2PromRead(int Address,uint32_t *Data);
uint32_t MCU_E2PromProgramFloat(int Address,float Data);
uint32_t MCU_E2PromReadFloat(int Address,float *Data);
void MCU_E2PromProgramMidTank(int midtankId,float a,float b);
float MCU_E2PromReadMidtank_A(int MidtankId);
float MCU_E2PromReadMidtank_B(int MidtankId);
void MCU_E2PromInit(void);

void MainCardStoredItemRequestFunc(MessageContainer* requestContainer);

void MainCardEEpromWriteRequestFunc(MessageContainer* requestContainer);
void MainCardEEpromReadRequestFunc(MessageContainer* requestContainer);
//uint32_t MCU_E2PromSerialNumProgram(char *Data);
//uint32_t MCU_E2PromSerialNumRead(char* *Data);
uint32_t MCU_E2PromEmbeddedVersionProgram(void);
uint32_t MCU_E2PromEmbeddedVersionRead();

uint32_t BtsrReadParamsFromEeprom(void *);
uint32_t BtsrSaveParamsToEeprom(void *);

extern char Serial[21];


#endif /* DRIVERS_FLASH_RAM_MCU_E2PROM_H_ */