Nýjir kóðar og uppfærðir gamlir kóðar fyrir arduino yfir í zephyr

This commit is contained in:
2026-10-08 15:18:32 +00:00
parent 53091f68df
commit c2d8780478
24 changed files with 922 additions and 338 deletions
+26 -14
View File
@@ -1,12 +1,15 @@
#include "operational_state.h"
#include "motor_controller.h"
#include <Arduino.h>
//#include <Arduino.h>
#include <zephyr/sys/printk.h>
void OperationalState::enter()
{
Serial.println("State: Operational");
//Serial.println("State: Operational");
printk("State: Operational\n");
context->reset_controller();
@@ -15,7 +18,8 @@ void OperationalState::enter()
sample_count = 0;
#if LOG_CSV
Serial.println("time_ms,ref_rpm,actual_rpm,pwm");
//Serial.println("time_ms,ref_rpm,actual_rpm,pwm");
printk("time_ms,ref_rpm,actual_rpm,pwm\n");
#endif
}
@@ -32,7 +36,8 @@ void OperationalState::update()
{
if (context->fault_active())
{
Serial.println("Fault detected");
//Serial.println("Fault detected");
printk("Fault detected\n");
context->to_stopped();
@@ -41,17 +46,22 @@ void OperationalState::update()
if (context->run_speed_controller())
{
sample_count++;
++sample_count;
#if LOG_CSV
// 4 ms á milli sýna, tíminn byrjar á 0 við hverja innkomu í Operational
Serial.print(sample_count * 4UL);
Serial.print(',');
Serial.print(context->get_reference_rpm(), 1);
Serial.print(',');
Serial.print(context->get_actual_rpm(), 2);
Serial.print(',');
Serial.println(context->get_pwm(), 1);
// Serial.print(sample_count * 4UL);
// Serial.print(',');
// Serial.print(context->get_reference_rpm(), 1);
// Serial.print(',');
// Serial.print(context->get_actual_rpm(), 2);
// Serial.print(',');
// Serial.println(context->get_pwm(), 1);
printk("%u,%.1f,%.2f,%.1f\n",
static_cast<unsigned int>(sample_count * 4U),
context->get_reference_rpm(),
context->get_actual_rpm(),
context->get_pwm());
#endif
}
}
@@ -61,14 +71,16 @@ void OperationalState::command(char c)
{
if (c == 'r' || c == 'R')
{
Serial.println("Command: reset");
//Serial.println("Command: reset");
printk("Command: reset\n");
context->to_initialization();
}
else if (c == 'p' || c == 'P')
{
Serial.println("Command: set pre-operational");
//Serial.println("Command: set pre-operational");
printk("Command: set pre-operational\n");
context->to_pre_operational();
}