Changes for page LSS - Firmware

Last modified by Eric Nantel on 2024/03/18 09:59

From version < 15.1 >
edited by Eric Nantel
on 2021/09/20 08:20
To version < 15.2 >
edited by Coleman Benson
on 2021/09/20 08:52
< >
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -xwiki:XWiki.ENantel
1 +xwiki:XWiki.CBenson
Content
... ... @@ -28,7 +28,8 @@
28 28  
29 29  Released 2019-05-01
30 30  
31 -* Initial production version (first official release).
31 +Initial production version (first official release)
32 +
32 32  * New commands:
33 33  ** CLB/QLB to control the blinking of the RGB LED during various phases of motion.
34 34  * New features:
... ... @@ -43,50 +43,55 @@
43 43  
44 44  Many bug fixers and new features!
45 45  
46 -* QF now reports more details on version number (QF, QF1, QF2, QF3)
47 -* Maximum motor duty cycle can be controlled using MMD, QMMD (min25%, max100% = 1023).
48 -** Can set it asymmetrical by passing 2 values separated by a comma (pos limit, neg limit).
49 -* Motion filter was added for EM0.
50 -** Can be controlled with FPC, CFPC, QFPC.
51 -* IPMS system was added for EM0.
52 -** Controlled with IPE and QIPE
47 +* New features: 
48 +** QF now reports more details on version number (QF, QF1, QF2, QF3)
49 +** Maximum motor duty cycle can be controlled using MMD, QMMD (min25%, max100% = 1023).
50 +*** Can set it asymmetrical by passing 2 values separated by a comma (pos limit, neg limit).
51 +** Motion filter was added for EM0.
52 +*** Can be controlled with FPC, CFPC, QFPC.
53 +** IPMS system was added for EM0.
54 +*** Controlled with IPE and QIPE
53 53  
54 -== Version 369 (EXPERIMENTAL) ==
56 +== Version 369 (EXP) ==
55 55  
56 56  Released 2021-06-18
57 57  
58 -* Fixed race condition in communication resulting in occasional corrupt responses. Most prevelant but not limited to the QN command.
59 -* Support for baud rates higher than 250k. We've certified 9600, 19200, 38400, 57600, 230400, 250000, 460800 and 500000 baud but 750000 and 921600 have also passed our testing. Only these exact baud rates are recognized by the servo.
60 -* Improvement in query response time of around 15% at 250k baud and much greater now that higher baud rates can be used.
60 +* New features 
61 +** Support for baud rates higher than 250k. Certified 9600, 19200, 38400, 57600, 230400, 250000, 460800 and 500000 baud but 750000 and 921600 have also passed our testing. Only these exact baud rates are recognized by the servo.
62 +** Improvement in query response time of around 15% at 250k baud and much greater now that higher baud rates can be used.
63 +* Fixes
64 +** Fixed race condition in communication resulting in occasional corrupt responses. Most prevelant but not limited to the QN command.
61 61  
62 -== Version 370 (EXPERIMENTAL) ==
66 +== Version 370 (EXP) ==
63 63  
64 64  Released 2021-09-20
65 -This update is a major overhaul to the communication sub-system. Expect major performance improvements and bugs! ;)
66 66  
67 -* Backwards compatibility is a priority. This firmware shouldn't affect existing code, please report any issues. Include a reproductible command sequence if possible.
68 -* Allows multiple commands to be sent and received as a group
69 -* Group commands can include multiple servos without bus conflict/contention
70 -** Ex. #0QD#5QD#10QD\r  -  queries 3 servos at once for position
71 -** #0QD0QC0#5QD0QC0  -  queries 2 servos at once for position and current (milliamps). 0 required to separate commands QD and QC
72 -* Increase in supported baud rates up to 921k (adds 500k, 750k, 921.6k) with 2 and 3Mbit coming soon
73 -* Auto baud rate (ABR) can be enabled (off by default):
74 -** Ex. #254ABR1  -  Enable baudrate detection on first byte received after power-up.
75 -** #254ABR2,30  -  Enable baudrate detection on first byte received after power-up. If no data for 30 seconds enable detection again on next byte.
76 -** Warning: ABR doesn't work well with LSS Config at the moment, updated LSS Config coming soon.
77 -* Using #254QID120 can scan the entire bus at once for servos without conflict.
78 -** Servos will use a simple formula to delay their response: 200usec + <id> * 120usec, where <id> is their servo ID 0 to 253.
79 -** The first parameter (ex. 120) indicates how many milliseconds to delay between IDs and 120usec is a safe number.
80 -** Warning: #254QID with no parameter will still conflict to remain backward compatibility with LSS Config.
81 -* Configure a slot# for each servo and using (ex.) #254QD can query all servos at once without conflict
82 -** Ex. We have 3 servos at ID 0, 5, and 10. We want to configure them to be slots 0, 1, and 2 respectively.
83 -*** #254SLOTCOUNT3\r - configure 3 slots on our bus
84 -*** #0SLOT0\r  -  we don't really have to do this one, servos default to slot 0 on power-up
85 -*** #5SLOT1\r  -  Servo ID5 to slot 1
86 -*** #10SLOT2\r  -  Servo ID10 to slot 2
87 -*** #254QD\r  -  Query all servos for position
70 +Major overhaul to the communication sub-system. Expect major performance improvements and bugs! Backwards compatibility is a priority. This firmware shouldn't affect existing code, please report any issues and include a reproductible command sequence if possible.
71 +
72 +* New features
73 +** Group commands: Allows multiple commands to be sent and received as a group and can include multiple servos without bus conflict / contention
74 +*** #0QD#5QD#10QD\r  -  As an example, this single command queries three servos for their respective positions
75 +*** #0QD0QC0#5QD0QC0  -  This queries two servos for their position and current (milliamps). Note: 0 is required to separate commands QD and QC
76 +** **A**uto **B**aud **R**ate (ABR) which can be enabled (off by default):
77 +*** #254ABR1  -  Enable baud rate detection on first byte received after power-up.
78 +*** #254ABR2,30  -  Enable baud rate detection on first byte received after power-up. If no data for 30 seconds enable detection again on next byte.
79 +*** Warning: ABR doesn't work well with LSS Config at the moment
80 +** Delayed & ordered query response.
81 +*** #254QID120  -  For example, this command can scan the entire bus at once for servos without conflict.
82 +*** Servos use a simple formula to delay their response: 200usec + <id> * 120usec, where <id> is their servo ID 0 to 253.
83 +*** The first parameter (ex. 120) indicates how many milliseconds to delay between IDs and 120usec is a safe number.
84 +*** Warning: #254QID with no parameter will still conflict to remain backward compatible with the LSS Config software
85 +** Configure a **SLOT** # for each servo and using (ex.) #254QD can query all servos at once without conflict
86 +*** Ex. Three servos with ID 0, 5, and 10 and want to configure them to be slots 0, 1, and 2 respectively:
87 +*** #254SLOTCOUNT3\r - configures 3 slots on the bus
88 +*** #0SLOT0\r  -  Don't really have to do this one, servos default to slot 0 on power-up
89 +*** #5SLOT1\r  -  Servo ID5 to slot 1
90 +*** #10SLOT2\r  -  Servo ID10 to slot 2
91 +*** #254QD\r  -  Query all servos for position
88 88  *** #254QD0QC0\r  -  Query all servos for position and current (milliamps)
89 -** Note: You only need to configure slots once on power-up, #254<cmd> will offset all servo replies based on slot# after this is set.
90 -** Note: Why not just use servo ID as slot#? Many LSS bus setups are not using sequential IDs so it's more efficient to assign slot# then expect everyone to change their robot's logical servo IDs to be sequential.
91 -* Fixed memory leak in MMD command
92 -* General firmware cleanup & improvements
93 +*** Note: You only need to configure slots once on power-up, #254<cmd> will offset all servo replies based on slot# after this is set.
94 +*** Note: Why not just use servo ID as slot#? Many LSS bus setups are not using sequential IDs so it's more efficient to assign slot# then expect everyone to change their robot's logical servo IDs to be sequential.
95 +* Fixes
96 +** Increase in supported baud rates up to 921k (adds 500k, 750k, 921.6k)
97 +** Fixed memory leak in MMD command
98 +** General firmware cleanup & improvements
Copyright RobotShop 2018