Re: monitoring static levels
This would be tricky to do without external sensors. The reason for this is that the static builds up as the robot is moving around the field, then gets released in on electrostatic discharge (ESD) 'burst' when the robot grounds itself (see Jpearman's thread on the subject
on the VEX forums for more information). The problem is that there is currently no way to detect the static build up via a program because the build up occurs on the 'outside' of the robot and gets shorted through the Integrated Motor Encoder's (IME) I2C port, which can cause a CPU lockup on the microcontroller, none of which can be fully prevented with software (again, Jpearman's thread goes over this in great detail and is a very good reference source for this).
The watchdog timer that was implemented in 3.6 helps alleviate the issues robots were having with motor power levels when an ESD through the IME's I2C ports caused a CPU crash, but it's unable to prevent the ESD from happening in the first place.
As far as prevention goes, the simplest and easiest way to avoid the ESD problems is to switch to the quadrature encoders for the time being since they do not utilize the I2C ports and thus will not cause the same issues. Rest assured, VEX is aware of the issue and is working hard on a solution
Check out our Blog
! And our Facebook page
Need help? Take a look at our Wiki
and our Forums.I just met you,
And this is crazy,
But here's my code now,
So fix it, maybe?
~ Carly Rae Jepsen parody