Skip to content

Commit 99c95f6

Browse files
committed
added more flexibility to the monitor
1 parent 55567f6 commit 99c95f6

File tree

2 files changed

+26
-14
lines changed

2 files changed

+26
-14
lines changed

src/common/base_classes/FOCMotor.cpp

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -94,18 +94,21 @@ void FOCMotor::monitor() {
9494
bool printed = 0;
9595

9696
if(monitor_variables & _MON_TARGET){
97-
monitor_port->print(target,4);
98-
monitor_port->print("\t");
97+
if(!printed) monitor_port->print(monitor_start_char);
98+
else monitor_port->print(monitor_separation);
99+
monitor_port->print(target,monitor_decimals);
99100
printed= true;
100101
}
101102
if(monitor_variables & _MON_VOLT_Q) {
102-
monitor_port->print(voltage.q,4);
103-
monitor_port->print("\t");
103+
if(!printed) monitor_port->print(monitor_start_char);
104+
else monitor_port->print(monitor_separation);
105+
monitor_port->print(voltage.q,monitor_decimals);
104106
printed= true;
105107
}
106108
if(monitor_variables & _MON_VOLT_D) {
107-
monitor_port->print(voltage.d,4);
108-
monitor_port->print("\t");
109+
if(!printed) monitor_port->print(monitor_start_char);
110+
else monitor_port->print(monitor_separation);
111+
monitor_port->print(voltage.d,monitor_decimals);
109112
printed= true;
110113
}
111114
// read currents if possible - even in voltage mode (if current_sense available)
@@ -117,27 +120,32 @@ void FOCMotor::monitor() {
117120
c.d = LPF_current_d(c.d);
118121
}
119122
if(monitor_variables & _MON_CURR_Q) {
120-
monitor_port->print(c.q*1000, 2); // mAmps
121-
monitor_port->print("\t");
123+
if(!printed) monitor_port->print(monitor_start_char);
124+
else monitor_port->print(monitor_separation);
125+
monitor_port->print(c.q*1000, monitor_decimals); // mAmps
122126
printed= true;
123127
}
124128
if(monitor_variables & _MON_CURR_D) {
125-
monitor_port->print(c.d*1000, 2); // mAmps
126-
monitor_port->print("\t");
129+
if(!printed) monitor_port->print(monitor_start_char);
130+
else monitor_port->print(monitor_separation);
131+
monitor_port->print(c.d*1000, monitor_decimals); // mAmps
127132
printed= true;
128133
}
129134
}
130135

131136
if(monitor_variables & _MON_VEL) {
132-
monitor_port->print(shaft_velocity,4);
133-
monitor_port->print("\t");
137+
if(!printed) monitor_port->print(monitor_start_char);
138+
else monitor_port->print(monitor_separation);
139+
monitor_port->print(shaft_velocity,monitor_decimals);
134140
printed= true;
135141
}
136142
if(monitor_variables & _MON_ANGLE) {
137-
monitor_port->print(shaft_angle,4);
143+
if(!printed) monitor_port->print(monitor_start_char);
144+
else monitor_port->print(monitor_separation);
145+
monitor_port->print(shaft_angle,monitor_decimals);
138146
printed= true;
139147
}
140-
if(printed) monitor_port->println();
148+
if(printed) monitor_port->println(monitor_end_char);
141149

142150
}
143151

src/common/base_classes/FOCMotor.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,10 @@ class FOCMotor
223223
*/
224224
void monitor();
225225
unsigned int monitor_downsample = DEF_MON_DOWNSMAPLE; //!< show monitor outputs each monitor_downsample calls
226+
char monitor_start_char = 0; //!< monitor starting character
227+
char monitor_end_char = 0; //!< monitor outputs ending character
228+
char monitor_separation = '\t'; //!< monitor outputs separation character
229+
unsigned int monitor_decimals = 4; //!< monitor outputs decimal places
226230
// initial monitoring will display target, voltage, velocity and angle
227231
uint8_t monitor_variables = _MON_TARGET | _MON_VOLT_Q | _MON_VEL | _MON_ANGLE; //!< Bit array holding the map of variables the user wants to monitor
228232

0 commit comments

Comments
 (0)