aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.h
blob: 0d7c42ad6ca09bff3e71fd82bf6a2d50c4ea0388 (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
/*
 * MillisecTask.h
 *
 *  Created on: 15 ���� 2018
 *      Author: shlomo
 */

#ifndef MODULES_CONTROL_MILLISECTASK_H_
#define MODULES_CONTROL_MILLISECTASK_H_

#include "drivers/adc_sampling/adc.h"
#include "control.h"
#include "drivers/Motors/Motor.h"
#include "drivers/Heater/TemperatureSensor.h"

typedef  uint32_t (* MSecFptr)(uint32_t deviceID, uint32_t ReadValue);
int32_t MillisecWriteToMotor(TimerMotors_t MotorId, unsigned long Data, int Length, MSecFptr Callback);
int32_t MillisecMoveScrew(unsigned long Data, int Length, MSecFptr Callback);
int32_t MillisecSetScrewSpeed(unsigned long Data, int Length, MSecFptr Callback);
int32_t MillisecSetMotorSpeed(TimerMotors_t MotorId, unsigned long Data, int Length, MSecFptr Callback);
int32_t MillisecReadFromMotor(TimerMotors_t MotorId, unsigned long Data, int Length, MSecFptr Callback);
int MillisecFlushMsgQ(TimerMotors_t MotorId);

int32_t MillisecReadFromTempSensor(uint32_t TempSensorId, MSecFptr Callback);
int MillisecFlushMsgQ(TimerMotors_t MotorId);
/*
uint32_t getMotorStatusData(int MotorId);
uint32_t getMotorSpeedData(int MotorId);
uint32_t getTemperatureSensorData(int SensorId);
uint32_t getADCData(int DeviceId);
*/
float getSensorSpeedData(void);
uint32_t getDrawerFansStatus(void);
uint32_t getSystemFansStatus(void);
uint8_t getGasReading(void);
int MillisecGetTemperatures (TEMPERATURE_SENSOR_ID_ENUM SensorId);
float MillisecGetPressures (int SensorId);
void setRapidPressureRead(bool value);
bool getRapidPressureRead(void);


void MillisecInit(void);
void MillisecStop(void);
void MillisecStart(void);

#ifdef HUNDRED_MICROSECONDS_DANCER_READ
void SaveLogData(void);
void MillisecLogInit(void);
void MillisecLogClose(void);

#endif

extern bool watchdogCriticalAlarm;

extern Task_Handle Millisecond_Task_Handle;
#endif /* MODULES_CONTROL_MILLISECTASK_H_ */