temperature: Base for temperature thread
This commit is contained in:
parent
2ccce7a6b2
commit
f578fd2854
@ -55,6 +55,7 @@
|
|||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/threads/rotary}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/threads/rotary}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/threads/manager}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/threads/manager}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/threads/logging}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/threads/logging}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/temperature}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/peripherals}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/peripherals}""/>
|
||||||
</option>
|
</option>
|
||||||
<option id="com.crt.advproject.cpp.misc.dialect.4036734" name="Language standard" superClass="com.crt.advproject.cpp.misc.dialect" useByScannerDiscovery="true" value="com.crt.advproject.misc.dialect.cpp17" valueType="enumerated"/>
|
<option id="com.crt.advproject.cpp.misc.dialect.4036734" name="Language standard" superClass="com.crt.advproject.cpp.misc.dialect" useByScannerDiscovery="true" value="com.crt.advproject.misc.dialect.cpp17" valueType="enumerated"/>
|
||||||
@ -88,6 +89,7 @@
|
|||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/master}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/master}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/user_interface}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/user_interface}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/logging}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/logging}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/temperature}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/peripherals}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/peripherals}""/>
|
||||||
</option>
|
</option>
|
||||||
<option id="com.crt.advproject.c.misc.dialect.82852045" name="Language standard" superClass="com.crt.advproject.c.misc.dialect" useByScannerDiscovery="true" value="com.crt.advproject.misc.dialect.c17" valueType="enumerated"/>
|
<option id="com.crt.advproject.c.misc.dialect.82852045" name="Language standard" superClass="com.crt.advproject.c.misc.dialect" useByScannerDiscovery="true" value="com.crt.advproject.misc.dialect.c17" valueType="enumerated"/>
|
||||||
@ -109,6 +111,7 @@
|
|||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/master}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/master}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/user_interface}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/user_interface}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/logging}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/logging}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/temperature}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/peripherals}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/peripherals}""/>
|
||||||
</option>
|
</option>
|
||||||
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1836378919" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1836378919" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
||||||
@ -208,6 +211,7 @@
|
|||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/FreeRTOSCPP}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/FreeRTOSCPP}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/common}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/common}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/user_interface}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/user_interface}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/temperature}""/>
|
||||||
</option>
|
</option>
|
||||||
<inputType id="com.crt.advproject.compiler.cpp.input.903614193" superClass="com.crt.advproject.compiler.cpp.input"/>
|
<inputType id="com.crt.advproject.compiler.cpp.input.903614193" superClass="com.crt.advproject.compiler.cpp.input"/>
|
||||||
</tool>
|
</tool>
|
||||||
@ -238,6 +242,7 @@
|
|||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/FreeRTOSCPP}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/FreeRTOSCPP}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/common}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/common}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/user_interface}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/user_interface}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/temperature}""/>
|
||||||
</option>
|
</option>
|
||||||
<option id="com.crt.advproject.c.misc.dialect.1008527937" name="Language standard" superClass="com.crt.advproject.c.misc.dialect" useByScannerDiscovery="true" value="com.crt.advproject.misc.dialect.c17" valueType="enumerated"/>
|
<option id="com.crt.advproject.c.misc.dialect.1008527937" name="Language standard" superClass="com.crt.advproject.c.misc.dialect" useByScannerDiscovery="true" value="com.crt.advproject.misc.dialect.c17" valueType="enumerated"/>
|
||||||
<inputType id="com.crt.advproject.compiler.input.246185412" superClass="com.crt.advproject.compiler.input"/>
|
<inputType id="com.crt.advproject.compiler.input.246185412" superClass="com.crt.advproject.compiler.input"/>
|
||||||
@ -260,6 +265,7 @@
|
|||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/common}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/common}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/user_interface}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/user_interface}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/logging}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/logging}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/shoh/src/threads/temperature}""/>
|
||||||
</option>
|
</option>
|
||||||
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1117166373" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1117166373" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
||||||
<inputType id="com.crt.advproject.assembler.input.2071009798" name="Additional Assembly Source Files" superClass="com.crt.advproject.assembler.input"/>
|
<inputType id="com.crt.advproject.assembler.input.2071009798" name="Additional Assembly Source Files" superClass="com.crt.advproject.assembler.input"/>
|
||||||
|
|||||||
@ -14,9 +14,8 @@
|
|||||||
struct I2C_config {
|
struct I2C_config {
|
||||||
unsigned int device_number;
|
unsigned int device_number;
|
||||||
unsigned int speed;
|
unsigned int speed;
|
||||||
unsigned int clock_divider;
|
unsigned int i2c_mode = IOCON_SFI2C_EN;
|
||||||
unsigned int i2c_mode;
|
// I2C_config(unsigned int dn, unsigned int sp, unsigned int cd): device_number(dn), speed(sp), i2c_mode(IOCON_SFI2C_EN) {};
|
||||||
I2C_config(unsigned int dn, unsigned int sp, unsigned int cd): device_number(dn), speed(sp), clock_divider(cd), i2c_mode(IOCON_SFI2C_EN) {};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class I2C {
|
class I2C {
|
||||||
|
|||||||
@ -13,6 +13,7 @@
|
|||||||
#include "Manager.h"
|
#include "Manager.h"
|
||||||
#include "Logging.h"
|
#include "Logging.h"
|
||||||
#include "UserInterface.h"
|
#include "UserInterface.h"
|
||||||
|
#include "Temperature.h"
|
||||||
#include "queue.h"
|
#include "queue.h"
|
||||||
|
|
||||||
static const char* rotary_direction[] =
|
static const char* rotary_direction[] =
|
||||||
@ -131,6 +132,9 @@ void thread_master(void* pvParams) {
|
|||||||
manager->tm->createTask(thread_relay, "relay",
|
manager->tm->createTask(thread_relay, "relay",
|
||||||
configMINIMAL_STACK_SIZE * 9,tskIDLE_PRIORITY + 1UL,
|
configMINIMAL_STACK_SIZE * 9,tskIDLE_PRIORITY + 1UL,
|
||||||
static_cast<void*>(manager));
|
static_cast<void*>(manager));
|
||||||
|
manager->tm->createTask(thread_temperature, "temperature",
|
||||||
|
configMINIMAL_STACK_SIZE * 10,tskIDLE_PRIORITY + 1UL,
|
||||||
|
static_cast<void*>(manager));
|
||||||
LOG_INFO("Master created tasks");
|
LOG_INFO("Master created tasks");
|
||||||
m.taskFunction();
|
m.taskFunction();
|
||||||
}
|
}
|
||||||
|
|||||||
11
source/shoh/src/threads/temperature/SensorTempTC74.cpp
Normal file
11
source/shoh/src/threads/temperature/SensorTempTC74.cpp
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
/*
|
||||||
|
* SensorTempTC74.cpp
|
||||||
|
*
|
||||||
|
* Created on: 16 May 2023
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "SensorTempTC74.h"
|
||||||
|
|
||||||
|
SensorTempTC74::SensorTempTC74(I2C* pi2c) : _pi2c(pi2c) {}
|
||||||
|
|
||||||
|
SensorTempTC74::~SensorTempTC74() {}
|
||||||
21
source/shoh/src/threads/temperature/SensorTempTC74.h
Normal file
21
source/shoh/src/threads/temperature/SensorTempTC74.h
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
/*
|
||||||
|
* SensorTempTC74.h
|
||||||
|
*
|
||||||
|
* Created on: 16 May 2023
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef THREADS_TEMPERATURE_SENSORTEMPTC74_H_
|
||||||
|
#define THREADS_TEMPERATURE_SENSORTEMPTC74_H_
|
||||||
|
|
||||||
|
#include "I2C.h"
|
||||||
|
|
||||||
|
class SensorTempTC74 {
|
||||||
|
public:
|
||||||
|
SensorTempTC74(I2C* pi2c);
|
||||||
|
virtual ~SensorTempTC74();
|
||||||
|
bool read();
|
||||||
|
private:
|
||||||
|
I2C* _pi2c;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* THREADS_TEMPERATURE_SENSORTEMPTC74_H_ */
|
||||||
32
source/shoh/src/threads/temperature/Temperature.cpp
Normal file
32
source/shoh/src/threads/temperature/Temperature.cpp
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* Temperature.cpp
|
||||||
|
*
|
||||||
|
* Created on: 16 May 2023
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "Temperature.h"
|
||||||
|
#include "SensorTempTC74.h"
|
||||||
|
#include "Log.h"
|
||||||
|
|
||||||
|
Temperature::Temperature(ThreadCommon::QueueManager* qm, I2C* pi2c) : _qm(qm), _pi2c(pi2c) {}
|
||||||
|
|
||||||
|
Temperature::~Temperature() {}
|
||||||
|
|
||||||
|
void Temperature::taskFunction()
|
||||||
|
{
|
||||||
|
SensorTempTC74 ext_temp_sensor(this->_pi2c);
|
||||||
|
for (;;)
|
||||||
|
{
|
||||||
|
|
||||||
|
vTaskDelay(5000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void thread_temperature(void* pvParams)
|
||||||
|
{
|
||||||
|
ThreadCommon::CommonManagers * manager = static_cast<ThreadCommon::CommonManagers*>(pvParams);
|
||||||
|
I2C_config conf{0x4a, 55000};
|
||||||
|
I2C i2c(conf);
|
||||||
|
Temperature t(manager->qm, &i2c);
|
||||||
|
t.taskFunction();
|
||||||
|
}
|
||||||
28
source/shoh/src/threads/temperature/Temperature.h
Normal file
28
source/shoh/src/threads/temperature/Temperature.h
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* Temperature.h
|
||||||
|
*
|
||||||
|
* Created on: 16 May 2023
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef THREADS_TEMPERATURE_TEMPERATURE_H_
|
||||||
|
#define THREADS_TEMPERATURE_TEMPERATURE_H_
|
||||||
|
|
||||||
|
#include "FreeRTOS.h"
|
||||||
|
#include "task.h"
|
||||||
|
#include "ThreadCommon.h"
|
||||||
|
#include "DigitalIoPin.h"
|
||||||
|
#include "I2C.h"
|
||||||
|
|
||||||
|
class Temperature {
|
||||||
|
public:
|
||||||
|
Temperature(ThreadCommon::QueueManager* qm, I2C* pi2c);
|
||||||
|
virtual ~Temperature();
|
||||||
|
void taskFunction();
|
||||||
|
private:
|
||||||
|
ThreadCommon::QueueManager* _qm;
|
||||||
|
I2C* _pi2c;
|
||||||
|
};
|
||||||
|
|
||||||
|
void thread_temperature(void* pvParams);
|
||||||
|
|
||||||
|
#endif /* THREADS_TEMPERATURE_TEMPERATURE_H_ */
|
||||||
Loading…
x
Reference in New Issue
Block a user