ToDo: - Add timeout to reading of Calibration Data, maybe add redudent copies of cal data in EEPROM. - Check memory overflow potential for new gets functions used in the calibration procedures. X- Consider raising Vtarg to limit when VqVd hits target circle instead of using Vtarg to maintain VqVd at unit circle X- Turn On/Off Bridge at low speed/currents. X- Decide on eliminating VqVd Limiter at low RPM because if the bus voltage is below 120V (i.e. >2000rpm "rectification speed), the Controller won't be on... X- SlowSwitch is blipping on when VqVd is limiting at low RPM, consider if this is a problem. X- Test not turning switches off when raising Vtarg until Current is flowing out. This doesn't seem to gain anything, if it's generating it'll be raising the voltage and current will flow, and if motoring, it'll soon be generating... X- Provide way to get out of VqVd Limiter, causes problems when the PS current limits. X - Include nonlinear Load Dump Current calc. X- Try to determine why on SN001 a PR3=240 Timer setting causes a blip in voltage measurement. X- Calibrate pressure and torque sensors. x- Check over/underflow throughout, especially in conv.c routines... X - Review resolution and range of fixed point variables. X- Time system clock and interrupts to be sure RPM and CAN rate are accurate. X- Check and test Batt Draw limits. X- Check and test Batt Charge limits. X- Check Torque/RPM curve for generator mode against previous deployment. X- Check hard-coding of speed limits on Voltage/Current re-enable. Done. X- Investigate why flux current is non-zero when motoring with no supply. X- Eliminate floating point computations in standard deviation computation. X- Implement CAN message outputs. Done, need to send to rich. X- Decide what to do when overcurrent trips. Right now it sets the bridge as a rectifier and keeps the load dump controlling voltage. This means it unloads the sysetms at all motor speeds below the set voltage, which is pretty high. Could switch at this moment to stay as a rectifier and use the load dump to control winding current. Done. X- Complete implementation of disable current. Done. X - Review usage of halls now that they're active. Leave alone for now, disable CN interrupts. X- Add timeout to bias current. Done and tested. -- Consider command to disable Disable Trip at sea in the case of unexpected nuciesense trips. Wait to see how we feel after test bench runs. X-- Check +/- direction on retract factor. Done. X-- Add voltage limit shutdown. Done. X-- Add Status bits for overvoltage and over-current shutdown. Done. X-- Report Load Dump Current instead of Power? Done, needs calibration. X- Check timings that might depend on CAN rate. X- Estimate default gain and targets on For gain scheduling. From previous deployments.. Need to consider minimum resolution in error. Done. X- Disable Acceptance filter for BatteryController CAN packets. Done X- Check Filter Behaviors/ or eliminate all filtering... Skeleton of filtering is in place but isn't used. This adds a lot of memory and confusion with all the saved values. Could eliminate all of that and just use the most recently measured value in all cases, for now that wouldn't change anything but perhaps it would be useful to put the filtering back in at some point... X- Change rejection of current requests outside of maximum to set maximum instead of doing nothing. X- Determine flat spot in ADC measurements at 42-65 P1DC4 counts. X-- THink again abut if the Max_TARGETVOLTAGE should be higher than the SHUTDOWN_VOLTAGE. x-- Check why current ramp requires going through zero current to keep control. Fixed for entering and then exiting the box, need to TEST for exiting then entering the box... X-- Check to see why BattDrawLimit stayed at 8A when we thuoght we set it to 15A. Looks like a problem with the command, works when you change it in config.h X-- Test Behavior at user set 0A batt draw/charge tests. Change to make minimum draw/charge currents 2A X--Check DEFAULT_ANGLEOFFSET, motor specific X-- Check PHASEA_OFFSET and PHASEB_OFFSET. Board specific and needs to be done before winding current calibrations... x-- Take out of "DEBUG" Mode? X-- Consider reinstating stop-charge behavior based on battery overvoltage lights. X-- Reconsider merit of Reset cmd. x - TEST Be careful not to draw current in motor mode if switches are off, will draw through diode... This can happen inadvertantely after VqVd limit is no longer needed but before RPM goes to zero and switches turn back on... Or anytime the user turns the switches off. X-- Troubleshoot SetTargetVoltage (and all commands). x-- Review that the "out of range behavior" on the commands is correct. In almost all cases it sets to the min or max if out of bound. Need to think about where this may be dangerous and it's better to be sure the user typed the right thing... X-- Check Default Torque/Speed Curve X-- Test Scale Factor control loop X-- Test BiasCurrent Setting and behavior X-- Review Status Bits x- Set default retract factor, TEST at extremes. X-- Over-ride PWM to off before disabling the bridge and resetting in traps. -- Consider lower current limit in retract direction. -- consider removing SetMaxTargVotlage command since it allows uncontrolled battery draw.