Changelog - FD2
All notable changes for FD2.
[Unreleased]
[25.10.03] - 2025-10-27
Added
- [FD2/Dispenser] included way to validate any hose that is pending price change
- [FD2/PCC] inlcuded flag to allow ppu recieved from pos to include all hoses in one message
- [FD2/PCC] included commands to pull the config and a separate command for logs as zip
- [FD2/Tatsuno] ported over from legacy code
- [FD2/Tokico] Included base implementation based on Spec
- [FD2/Kraus] More robust validation for sale completion
- [FD2/Pcc] Inclueded an extended status command that segregates by channel and only inlcudes available
dispensers
- [FD2/Kraus] added forced arm removal on collect detection from pump
- [FD2/ATG] added incon support through tsa protocol
- [FD2/SMC] initial pumpside based on documentation
- [FD2/Tokico] skeleton for pumpside
Changed
- [FD2/Tatsuno] ported over from legacy main parts for comunication
Fixed
- [FD2/Kraus] avoid double sale ready after exploit
- [FD2/Kraus] corrected how we use parsed deltas when exploint has occured
- [FD2/Kraus] end of sale logic corrections and edge case handling
- [FD2/Kraus] identify when pumping no sale to pause the pump and re send the preset.
Removed
- [FD2/Licensing] we no longer provide a temporary license on initial load
[25.10.02] - 2025-10-15
Added
- [FD2/Configuration] included Fueldirect Socket to configuration options in tool
- [FD2/Wayne] Command to test if it has an iGem2
- [FD2/Wayne] variable-blend support; system now queries and records blend ratios per dispenser.
- [FD2/Dart] began porting the pie-libs DART implementation into FD2 core (initial scaffolding/transport in
place)
Changed
- [FD2/Wayne] changed dynamic hose mapping to be more robust with a fall back that tries to query every
possible position 0-6 to identify valid positions if the get available positions fails
- [FD2/Wayne] hose mapping now derives solely from AvailablePositions; removed blend-index offsets to avoid
3+1+1 misalignment with internal hose IDs.
Removed
- [FD2/Wayne] removed unusesd functions
[25.10.01] - 2025-10-07
Added
- [FD2/Kraus] included overrun detection
- [FD2/Kraus] created a check for when the user joggles the handle which causes issues with overruns, we now
de arm the pump if we see this then send the preset and re-arm again once its stable
Fixed
- [FD2/Kraus] corrected how we handle totals
- [FD2/Krause] corrected ctrl
- [FD2/Kraus] trying to get comms working with kraus
[25.09.05] - 2025-10-03
Added
- [FD2/Licensing] added more error codes and their mapping to better identify issues with licensing
- [FD2/Wayne] Validate if config is necesary based on if a hose was created after initial config or not to
ensure dynamic mapping is working
- [FD2/Wayne] We now log the entire start up configuration process so that we know when we broke out of it and
failed and why
- [FD2/Wayne] Implemented dynamic hose/grade translation (SetupHoseTranslation, WayneHoseMap, HoseToGrade,
GradeToHose)
- [FD2/Wayne] InitializeBlendValues and GetBlendValues1To3/4To6 for blend slot discovery
- [FD2/Wayne] GetValidHoses (0x07/0x1A) to parse hose bitmask and populate AvailablePositions
- [FD2/Wayne] Extended ConfigurePump to include hose/blend discovery during startup
Changed
- [FD2/Wayne] Made it so that single hose lock maps the same way as multihoselock to avoid issues we saw with
the sc82
- [FD2/Logging] changed the way we created and managed the thread for writing logs this now uses a semaphore
slim per file.
- [FD2/dispenser] ConfigurePump refactored (no goto, clearer logic, blend queries tolerant)
- [FD2/Wayne] HoseInAdjust to resolve Wayne hose → internal hose → blend index with
fallbacks and logging
- [FD2/Wayne] HoseOutAdjust to normalize indices and handle FixedBlend vs VariableBlend consistently
Fixed
- [FD2/Wayne] fix order of opperations
- [FD2/Logs] Include the version in some logs that did not have it
- [FD2/dispenser] Hose lift mapping corrected (blendIndex +1 ensures lifted hose matches physical)
- [FD2/Wayne] Off-by-one handling of internal vs Wayne hose numbering
- [FD2/Wayne] Guarded against invalid indices and missing blend data with safe defaults and diagnostics
- [FD2/Wayne] Deduped AvailablePositions and added logging for invalid Wayne hose indexes
[25.09.04] - 2025-09-25
Added
- [FD2/Generic] added management for hose lock and multi-hose lock so that the pump sim can also manage this
- [FD2/Docs] Added wayne documentation
- [FD2/Generic] Added Multihose lock and hose lock
- [FD2/PumpSim] Manage multi-hose lock
- [FD2/Conexxus] Added log trace for transactions per reader
Changed
- [FD2/DispenserCh] Normalized lines to be compatible with VB6
- [FD2/Tokheim] Status/arm/flow checks aligned with Wayne & legacy FuelDirect.
- [FD2/Kraus] Status/arm/flow checks aligned with Wayne & legacy FuelDirect.
- [FD2/Folders] Moved .cs to related folders for ease of use
- [FD2/logs] split Conexxus logs into per-remote-IP files for easier debugging
- [FD2/startup] decoupled reader startup from heartbeats so program boot doesn’t depend on reader
beats
Fixed
- [FD2/Conexxus] better handle disconects and reconnects to avoid cpu overuse
- [FD2/FDSocket] addressed issues with handling messages that include hose lock and multihose lock
- [FD2/Wayne] corrected how we handle the arming and re arming of dispensers specifically when we have non bcd
pumps
- [FD2/POS] reverted connection changes
- [FD2/FDSocket] Manage Multihose lock
- [FD2/Wayne] Paused-pump handling; allow handle change while armed (non-BCD).
- [FD2/Dispenser] Hose-lock validation for BCD & non-BCD.
- [FD2/FDSocketHandler] Multihose lock handling; show prices on FuelingPositionInfo; correct
DispenserInformation mapping.
- [FD2/Wayne] Changed the way we handle changes in hose for nonbcd to ensure we repause and re arm based on
new hose
- [FD2/GDM] ensure we dont allow deauths when we are flowing
- [FD2/FDSocket] some adjustments to ensure we match the original dev guide
- [FD2/Conexxus] make the falback false
- [FD2/grm] remove sync-over-async to avoid startup deadlock risk during channel initialization
- [FD2/queues] corrected dequeue/clear logic to operate on the intended queues
[25.09.01] - 2025-09-04
Fixed
- [FD2/Startup] Added guards and more precise logging when starting up to know why we fail to load if we do
- [FD2/Protocol] Added POS socket command builders
[25.08.02] - 2025-08-29
Added
- [FD2/DOCS] Per-project changelog plumbing (hooks, workflow, skeleton)
Changelog - FD2
All notable changes for FD2.
