This commit is contained in:
2022-09-16 12:25:01 +02:00
parent 034eb4c393
commit e4dacce882
2 changed files with 17 additions and 7 deletions

View File

@@ -27,9 +27,14 @@ QueueHandle_t CommuTask::getKnobStateQueue() {
return knob_state_queue_;
}
void CommuTask::setAngleValue(uint32_t angle)
void CommuTask::setAngleValue(int32_t angle)
{
if(angle_ != angle)
{
angle_ = angle;
valuesUpdated = true;
log_d("new Angle valeu: %u", angle_);
}
//log_d("setAngleCalled = %u", angle);
}
@@ -70,11 +75,14 @@ void CommuTask::run() {
continue;
}
if(millis() - lastSensorUpdate > 1000)
setAngleValue(state.current_position);
if(millis() - lastSensorUpdate > 1000 && valuesUpdated)
{
angle.setValue(state.current_position);
log_d("new angle=%u", state.current_position);
angle.setValue(angle_);
log_d("new angle=%u", angle_);
lastSensorUpdate = millis();
valuesUpdated = false;
}

View File

@@ -23,7 +23,7 @@ class CommuTask : public Task<CommuTask> {
CommuTask(const uint8_t task_core);
~CommuTask();
void setAngleValue(uint32_t angle);
void setAngleValue(int32_t angle);
QueueHandle_t getKnobStateQueue();
@@ -33,9 +33,11 @@ class CommuTask : public Task<CommuTask> {
private:
uint32_t angle_ =0;
int32_t angle_ =0;
SemaphoreHandle_t mutex_;
bool valuesUpdated = false;
QueueHandle_t knob_state_queue_;