EBF firmware v3.0.2 release: Removed "Param_Number" from response to QU command as per issue #228

pull/229/head
EmbeddedMan 2024-05-06 21:41:52 -05:00
rodzic 7627fc4e18
commit ab9a1046dd
11 zmienionych plików z 11884 dodań i 11925 usunięć

Wyświetl plik

@ -21,6 +21,11 @@
<itemPath>source/usb_config.h</itemPath>
<itemPath>source/ebb_print.h</itemPath>
</logicalFolder>
<logicalFolder name="ExternalFiles"
displayName="Important Files"
projectFiles="true">
<itemPath>Makefile</itemPath>
</logicalFolder>
<logicalFolder name="LibraryFiles"
displayName="Library Files"
projectFiles="true">
@ -52,11 +57,6 @@
<itemPath>source/ebb_print.c</itemPath>
<itemPath>source/squareroot.s</itemPath>
</logicalFolder>
<logicalFolder name="ExternalFiles"
displayName="Important Files"
projectFiles="false">
<itemPath>Makefile</itemPath>
</logicalFolder>
</logicalFolder>
<sourceRootList>
<Elem>source</Elem>

Wyświetl plik

@ -151,7 +151,7 @@ volatile UINT16 g_StepperDisableTimeoutS; // Seconds of no motion before m
volatile UINT16 g_StepperDisableSecondCounter; // Counts milliseconds up to 1 s for stepper disable timeout
volatile UINT16 g_StepperDisableCountdownS; // After motion is done, counts down in seconds from g_StepperDisableTimeoutS to zero
const rom char st_version[] = {"EBBv13_and_above EB Firmware Version 3.0.1.1"};
const rom char st_version[] = {"EBBv13_and_above EB Firmware Version 3.0.2"};
#pragma udata ISR_buf = 0x100
volatile unsigned int ISR_A_FIFO[16]; // Stores the most recent analog conversions
@ -2267,7 +2267,7 @@ void parse_CU_packet(void)
// certain values from the EBB.
// "QU,<parameter_number><CR>"
// Returns: Some value(s), dependant on what parameter_number is.
// <parameter_number> <return_packet>
// <return_packet>
// 1 QU,1,XX where XX is a value from 00 to FF, representing the contents of
// the PortB pins at the time of the last limit switch trigger
// 2 QU,2,ddd to read back the maximum supported FIFO length for this version
@ -2297,8 +2297,6 @@ void parse_QU_packet(void)
// Returns "QU,1,XX" where XX is two digit hex value from 00 to FF
if (1u == parameter_number)
{
ebb_print_uint(parameter_number);
ebb_print_char(',');
ebb_print_hex(gLimitSwitchPortB, 2);
print_line_ending(kLE_NORM);
}
@ -2306,8 +2304,6 @@ void parse_QU_packet(void)
// Returns "QU,2,ddd" where ddd is one to three digit decimal value from 0 to 255
else if (2u == parameter_number)
{
ebb_print_uint(parameter_number);
ebb_print_char(',');
ebb_print_uint(COMMAND_FIFO_MAX_LENGTH);
print_line_ending(kLE_NORM);
}
@ -2315,8 +2311,6 @@ void parse_QU_packet(void)
// Returns "QU,3,ddd" where ddd is one to three digit decimal value from 0 to 255
else if (3u == parameter_number)
{
ebb_print_uint(parameter_number);
ebb_print_char(',');
ebb_print_uint(gCurrentFIFOLength);
print_line_ending(kLE_NORM);
}
@ -2324,16 +2318,12 @@ void parse_QU_packet(void)
else if (4u == parameter_number)
{
check_high_water();
ebb_print_uint(parameter_number);
ebb_print_char(',');
ebb_print_hex(gStackHighWater, 3);
print_line_ending(kLE_NORM);
}
// CU,5 prints out current stack high water value and resets it to zero
else if (5u == parameter_number)
{
ebb_print_uint(parameter_number);
ebb_print_char(',');
ebb_print_hex(gStackHighWater, 3);
print_line_ending(kLE_NORM);
INTCONbits.GIEL = 0; // Turn low priority interrupts off
@ -2343,32 +2333,24 @@ void parse_QU_packet(void)
// CU,6 prints out the number of commands currently waiting in the FIFO
else if (6u == parameter_number)
{
ebb_print_uint(parameter_number);
ebb_print_char(',');
ebb_print_uint(gFIFOLength);
print_line_ending(kLE_NORM);
}
// 60 QU,60,dddd prints out current value of g_PowerMonitorThresholdADC
else if (60u == parameter_number)
{
ebb_print_uint(parameter_number);
ebb_print_char(',');
ebb_print_uint(g_PowerMonitorThresholdADC);
print_line_ending(kLE_NORM);
}
// 61 QU,61,dddddd prints out current value of g_StepperDisableTimeoutS
else if (61u == parameter_number)
{
ebb_print_uint(parameter_number);
ebb_print_char(',');
ebb_print_uint(g_StepperDisableTimeoutS);
print_line_ending(kLE_NORM);
}
// 200 QU,200,dddddddddd,dddddddddd prints out the current value of acc_union[0] and acc_union[1] (the accumulators)
else if (200u == parameter_number)
{
ebb_print_uint(parameter_number);
ebb_print_char(',');
INTCONbits.GIEH = 0; // Turn high priority interrupts off
ebb_print_uint(acc_union[0].value);
ebb_print_char(',');

Wyświetl plik

@ -1,5 +1,5 @@
MPLINK 5.00, LINKER
Linker Map File - Created Tue Apr 02 21:10:59 2024
Linker Map File - Created Mon May 06 21:26:09 2024
Section Info
Section Type Address Location Size(Bytes)

Wyświetl plik

@ -465,6 +465,30 @@
</ul>
</p>
<h4>3.0.1 &mdash; 04/02/23</h4>
<p>
<ul>
<li>
<a href="https://github.com/evil-mad/EggBot/issues/223">Issue #223</a> Added a new <code>TD</code> command to create a faster way to execute two T3 commands back to back to create S-curves.
</li>
<li>
<a href="https://github.com/evil-mad/EggBot/issues/222">Issue #222</a> Added a new <code>SP,2</code> and <code>SP,3</code> commands to immediately raise the pen (without going through the FIFO).
</li>
<li>
<a href="https://github.com/evil-mad/EggBot/issues/221">Issue #221</a> Added a new <code>QU,6</code> command to query the current number of moves in the FIFO (i.e. how 'full' the FIFO is).
</li>
</ul>
</p>
<h4>3.0.2 &mdash; 05/06/24</h4>
<p>
<ul>
<li>
<a href="https://github.com/evil-mad/EggBot/issues/228">Issue #228</a> Removed 'Param_Number' in replies to the <code>QU</code> command to simplify PC side parsing of replies.
</li>
</ul>
</p>
<p/>
<hr/>
<p/>

Wyświetl plik

@ -462,7 +462,7 @@
<li><span style="font-weight: bold;">Execution:</span> Immediate</li>
<li>
<span style="font-weight: bold;">Description:</span>
<p>This command zeroes out (i.e. clears) the global motor 1 step position and global motor 2 step position.</p>
<p>This command zeros out (i.e. clears) the global motor 1 step position and global motor 2 step position. It also zeros out both step accumulators.</p>
<p>See the <code><a href="#QS">QS</a></code> command for a description of the global step positions.</p>
</li>
</ul>
@ -2062,8 +2062,8 @@
<ul>
<li><span style="font-weight: bold;">Command: </span><code>QU,<i>Param_Number</i>&lt;CR&gt;</code></li>
<li><span style="font-weight: bold;">Response (future mode): </span><code>QU,<i>Param_Number</i>,<i>Return_Value</i>&lt;NL&gt;</code></li>
<li><span style="font-weight: bold;">Response (legacy mode; default): </span><code>QU,<i>Param_Number</i>,<i>Return_Value</i>&lt;CR&gt;&lt;NL&gt;OK&lt;CR&gt;&lt;NL&gt;</code></li>
<li><span style="font-weight: bold;">Response (future mode): </span><code>QU,<i>Return_Value</i>&lt;NL&gt;</code></li>
<li><span style="font-weight: bold;">Response (legacy mode; default): </span><code>QU,<i>Return_Value</i>&lt;CR&gt;&lt;NL&gt;OK&lt;CR&gt;&lt;NL&gt;</code></li>
<li><span style="font-weight: bold;">Firmware versions: </span>v3.0 and above</li>
<li><span style="font-weight: bold;">Execution: </span>Immediate</li>
<li>
@ -2831,17 +2831,16 @@
This command is for creating specially-crafted back-to-back time-limited moves with jerk. Internally, the <code>TD</code> command takes its parameter values and creates
two <code>T3</code> commands that are loaded into the FIFO. It is a faster way to create "S-curves" accelerations than sending two <code>T3</code> commands separately.
</p>
<p>The <code>TD</code> command loads the two <code>T3</code> commands as follows:
<OL>
<LI>
<code>T3,Intervals,Rate1A,0,Jerk1,Rate2A,0,Jerk2[,Clear]&lt;CR&gt;</code>
</LI>
<LI>
<code>T3,Intervals,Rate1B,Accel1,-Jerk1,Rate2B,Accel2,-Jerk2[,Clear]&lt;CR&gt;</code>
</LI>
</OL>
</p>
<p>The <code>TD</code> command loads the two <code>T3</code> commands as follows:
<ol>
<li>
<code>T3,Intervals,Rate1A,0,Jerk1,Rate2A,0,Jerk2[,Clear]&lt;CR&gt;</code>
</li>
<li>
<code>T3,Intervals,Rate1B,Accel1,-Jerk1,Rate2B,Accel2,-Jerk2[,Clear]&lt;CR&gt;</code>
</li>
</ol>
</p>
<li>
<span style="font-weight: bold;">Example 1:</span>