bowlofsalad said:
Hello,
I've tried searching, but I am unable to locate something that sort of spells out the change log in versions of cycleanalyst. Does anyone know of some kind of list?
As Teklektik mentioned, nothing is published yet on the V3 device since it's been in Beta, but for the record here's what's summarized at the top of the code file which gives a sense of the progress to date:
;
XLP_B1 is first functioning code to use the PIC16F1936 chip, with just minimal
; code modifications from the 16F886 to make it work.
;
B2 changes the data aquisition to include all the additional channels, it changes the speedo
; to use circular buffer with linear addressing, it moves all the eeprom strings to program ROM
; instead. It makes better use of the two indirect addressing registers.
;
B3 aims to also:
; a) Provide RPM sensing and human power calculation
; b) Update the I/O's to match the latest PCB board revision by Michael
; c) Run off a 32 MHz clock, rather than 20MHz, and running on a (200mS/11) = 18.1818 mS timebase
; to reduce Aliasing with 120Hz
;
B4 Changes the calibration routine to use exact 100mV and 10mV signals to directly
; compute InvGain and GRatio terms
;
B5 Tackles the Setup Menu into 2 layer affair, and does a host of other small
; additions of items to the setup menu and human power averaging.
;
B6 Changes the TMR1 prescale to 8:1, meaning an exact 1uS clock for all timing routines. It also
; Implements the RC servo output, PAS controle modesm human watt-hours accumulation, plus human
; pedal time for average human watts and revolution counter for average cadence. Plus implements
; the PAS control modes, and changes RS232 to use interupts and show all data.
; Things not yet implemented include actual temp limiting of current limit,
; and parallel throttle/PAS operation needs refinement, and the watts limit though existing in setup
; is not handled in main code, nore yet is the differential speed gain.
;
B7 Does all kinds of stuff:
; * Implements Differential term for speed control, and redoes the differential speed
; * calculation so that sensitivity is not #pole dependant.
; * Reorganizes display meny
; * Adds Aux voltage adjuts of Torque Gain
; * Implements parallel throttle/PAS modes
; * Implements custom character ROM generation
; * Explores use of animations in startup splash screen
; * Fixes various bugs in the feedback calculations (like negative average torque)
;
B8 has minor tweaks, and in last implementation is custom firmware for Ben of Dogati
;
B9 Changes layout of setup menu, now with 11 rather than 8 categories. It also makes it so that
; if change a menu item you don't skip to the next one but can re-edit it.
; Also addes upper and lower RPM stall counts with a Threshold Speed,
; Also implements the DispStill and DispMov masks to select screens to show
;
B10 implements a SOC counter based on OCV calculated from IR
;
B11 Uses the PIC16F1938 chip with twice the memory,
; * Reorganizes data tables into a separate include file all in PAGE7
; * Adds separate outer level temperature menu, with selection of linear vs. thermistor
; * Adds ramp up and ramp down and V/kph rate control
; * Implements the power limit feedback code
; * Implements the ebrake cutoff, with associated graphic on main screen
; * Tidies up operation and displays in high range mode
;
B12 Implements minor tweaks to intrgral feedback terms such that they
; clamped to a certain value above the current VOut for quick action
; * B12 is the first firmware shipped out with the V3 Beta CA devices
;
B13 Addresses a few more things
; * Fixes throttle surge on power-on
; * Fixes occasional 0RPM glitch
; * Changes scale factor for power limiting
; * Adds throttle fault voltage
; * Adds ability to set AuxMin and AuxMax
; * Corrects eeprom lookup table for 5K rather than 10K pullup
; * Adds option for quadrature mode PAS
; * Changes kph/mph system to using flag bit
;
B14
; * Gives ability for user to select display screens
; * Swaps left and right button hold functions
; * Displays realtime sensor data in high level setup menu
; * Changes how power feedback clamping is implemented in attempt at bug fix
; * Zeros the PWM duty during reset to prevent brief power surge glitch.
; * Reorganizes RAM space a fair bit
;
B15 - SEE EMAIL TO ALAN,
;
B16 -
; * Adds realtime display of temp calculation.
; * Adds battery A and battery B selection, and all pack specific settings linked to one or other.
; * Solves initialization bug causing high max speed readings, now peripheral interupts only enabled at end
; * Suppresses leading zero display of setup menu items
; * Increases stall counter times for lower speed readings
; * Adds new display screen showing which limits are being hit, and has new set of flags to show them
; * Improves battery SOC behaviour on system power down
;
B17
; * Tidies up the leading zero suppression in setup menu, so they are shown during edit cycle
; * Enables watch-dog timer reset, although bootloader does not support change in config bits
;
B18
; * Implements a "software" style watchdog timer using TMR6
; * Eliminates TMR1 overflow situations by clearing TMR1H rather than just adding to it at each main loop
; * In the end, solves crashing bug by enabling pull up on PAS input line, as this was floating
; * Solves serious bug in the calculation of vehicle accelleration that was causing throttle cutouts and
; rendering smooth PID control difficult.
; * Organized a more clear pausing and resuming of timers etc. on entering and exiting setup menu and reset
; cycles.
;
B19
; * Add's menu 'guts' to all high level menu items, showing realtime signals and more summary info
; * Fixed a bug in the eebytewrite that would disable speedo and PAS interupts
; * Fixed several more scenarios that could cause false MaxS readings
; * Hid the "KV Compensation" term from setup menu as its still not being used
;
B20
; * Moves splash screen display string to ROM
; * Shorts out S&H cap prior to throttle & Aux ADC sampling
; * Adds 3rd battery selection choice
; * Organizes button press more cleanly with a state machine table
; * Enables 3 mode selection via button presses
; * Changes setup menu layout and naming for better consistency
; * Moves all 16 bit constants from EEPROM to ROM
; * Adds additional "disabled" option for setup menu items
; * Tweaks setup menu display screens and display menu guts
;
B20a
; * Adds timer cutouts on integral feedback, new way for it to engage
; * Adds additional setup menu for presets
;
B21
; * Changes torque assist to be watts / Nm
; * Adds the ability to enter bootloader from user code on receiving 0x55
; * Changes high impedance of PWM output on eeprom write strategy to avoid throttle output glitches
; during sleep period of EEPROM write
;
B22
; * Implements ifdef for V3 or V2 CA mode during compile, most code past page1 is contiguous
; * Allows both high and low range mode RShunts to have additional digit
; * Implements throttle input autocruise functionality, off or 2-6 seconds
; * Adds flashing units to main screen if limits are reached
; * Tweaks the setup dispaly routines, for "OK" blanking, sub menu navigation arrows
; * Implements cadence based human power on display if torque sensor not enabled
; * Enables a 6kph start pas/throttle mode for EU
; (...)
;**********************************************************************