From 900f9d4c95e731dc57f31a02afa7c104e6401b2c Mon Sep 17 00:00:00 2001 From: Jay Blackman Date: Thu, 6 Feb 2025 13:54:23 +1100 Subject: [PATCH] PR for app release (#812) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add SupaflyFPV graphconfigs as default preset (#734) * Remove changelog (#741) * Added setting of minimum and maximum curves values on the graphs. VITE Web version. (#726) * added minimum and maximum curves values * resolved issue: rewriting zero value input of min max values to charts config dialog panel * add: restore default min max values for curve by mouse click at clear input field on Chart setup dialog box * change action to restore default minmax values at double mouse click to enabled input field * tab symbols are changed to 4 space in file graph_config_dialog.js * added helper function to convert values units * added function FlightLogFieldPresenter.ConvertFieldValue() to convert parameters from log units to chart and back * added convertation values to chart setup dialog box * Convertation of MinMax values optimization. There were before: MinMax values are loaded and saved in logfile units. There are now: .... in friendly chart units * resolved issue: restore wrong default MinMax values when new curve is added (before save) * add use $('select.form-control option:selected', elem).val() as fields name when field.name is undefined only * deleted undesired trailing spaces * added: show context menu by right mouse click at minmax control elements in setup dialog box * at context menu are added functions to set all minmax to default and set all curves to one scale * added round of min max values to 1 digit in the output * added function SetSelectedCurveMinMaxToDefault to set selected curves min-max values to default * add using associative list instead of array to store curves data * added function FitSelectedCurveToOneScaleWithSecond to fit selected curve at one scale with second * add functions to place curves around zero axis * Labels of context menu are corrected * code style improvement * added getWindowCenterTime function to FlightLogGrapher * added function getMinMaxForFieldDuringTimeInterval to FlightLog * added reference to FlightLogGrapher in GraphConfigurationDialog * added function SetAllMinMaxValuesToFullRangeDuringWindowTime to use in menu * added menu action to set all curves min-max values to current local window range * added menu action to set minmax in window full range for selected curve * resolved issue: wrong context menu position by right mouse click. Screen mouse coords are changed to client coords * added charts redrawing after min-max control actions * added restore last curves setting when Cancel button pressed * added preventDefault call before show menu * bodies of menu handlers functions are replaced * resolved issue: wrong min-max for new selected curves. Definition of field name is changed * removed smoothing from min-max computing algoritm * Min-Max input fields are set read only as default * improve minmax compute function in flightLog * Code placement optimization * added: restore charts view after change when mouse click out of dialog panel * The enabled minmax checkbox is deleted from user interface * removed min-max enabled condition in graph module. Allways use min-max! * deleted readonly attribute for min-max input fields * added menu action to set all min-max to default * added menu action to set min-max one selected curve to default * resolved issue of computing min-max values while all range values have negative sign * resolved issue wrong min-max computing sometime * added menu actions: 'Fit all curves in zero ofset at global full range', 'Fit all curves in zero offset at window full range' * added menu action 'Apply this curves min-max to all curves' * added parseFloat in menu actions to transform string to digit * added menu item 'Apply this curves min-max to ...', without action till * added menu action 'Apply this curves min-max to ...' * optimized range of menu items * field names submenu changed to own menu with handlers ShowFieldsWithoutSelectedCheckboxedMenu * set checkbox type in fields name menu, added new items * added: set min-max from selected curve to curves group, that is selected by checkboxes menu * added menu action 'Apply this curves min-max to ...', without checkboxes till * resolved issue of curves count definition * removed zoom from charts config users interface, removed offset, inputRange, outputRanged from curves data * code style improvement * resolved outputRange issue, the zoom value is set to 100 * code style improvement * The menu action 'Fit this curve to one scale at:' changed to 'Fit selected curves to same scale ...'. The group selection is able by using checkboxes menu * When select 'Fit curves to same scale ...', current curve is checked by default in menu * changed lists size definition * changed lists size definition * added curves zoom action to context menu * removed unusing local variable * added caption to checkboxed menu * The new menu items order * added menu.css file * added div tags for menu items * added menu content and click handlers * added arrows special symbols into menu item * added: zoom is working * 'Selected to this one' menu action is ready * 'Selected to one scale' menu action is ready' * added: lock main menu when submenu is open * added: 'Back' menu items * resolved missing ; * Made: zoom setup from one menu, instead of two menu before * zoom menu improvement * add: block outer interface while menu is opened * improve: setting of true submenu positions * resolved issue of zoom computing * added: harder mouse events lock at dialog panel around the menu * improve setting of submenu vertical position * prevent of lock charts config dialog box after menu exit by Esc key * the structure of code is improved * added curves selection by centered menu action * added Shift key accelerator for group menu actions to fast all curves selection without submenu * Code style improvement: function declaration without var * added Save menu for next time working * zoom improvements: added two control buttons: 'zoom in', 'zoom out' * The curves zoom by mouse scroll is restored * the menu source codes are repalced to js/graph_minmax_setting_menu.js file * Apply default MinMax values for new openning logs * added checkboxed submenu into Save menu to select curves for save * added Save checkbox into curves table row at GraphConfig dialog box * The MinMax data are saved for next using if curves Save checkboxes is checked * resolved issue of workspace saving logic * added the left arrow symbol into submenu apply item, what close submenu * the menu1, menu2, menu3 variables changed to main_menu, sub_menu * changed the locking elements while menu is showed * added Esc keydown events handler * improved 'Selected to this one' menu action: it is posible to edit minmax values now * resolved issue of duplicate Save menu * added font style change while mouse click to menu item * Changed menu captions style * the menu item placement optimization: all auto range menu items placed into one submenu * added menu 'This full range' with submenu * The 'All full range' menu item improvement * added captions into main menu * added totalCount field into frames stat data * added method getCurrentLogRowsCount to flightLog.js * improved actual log rate computing * remove the logs maximal time limit * added menu item action 'centered one scale' into 'All full range'submenu * menu view style improvement * improve of computing min-max stat data in flightLog. The I and Prame is used now * Improve computing curves min-max values in charts setup dialog box. Added minmax computing function into flightLog and graphConfig * MinMax curves control menu is added into VITE WEB version * The Shift key action in the menu is reverted * The menu items order is changed * The single and group Zoom menu actions is improved * The single and group 'Full range' menu action are improved * added hidden span with right arrow into menu item which can have submenu * added Shift key event handler to show/hide the right arrow symbol in menu items * 'Save' table caption is renamed to 'Default' * the workspace minmax values save strategy is changed * 'This curves action' replaced into submenu * code style improvement: added menu helpers function * Zoom submenu is removed from 'This curve' submenu * added submenu for 'This curve'-'Full range' item while Shift key is pressed * The 'Apply' and 'Cancel' buttons are unlocked while minmax menu is open * Code style improvement: added special function UnlockUsersInterfaceAfterWorkOfMinMaxMenu * Is set Alt control key instead of Shift * added extended submenu for 'Default' action while Alt-key is pressed * added modules directive in code to use external function * resolved issue of keyboard event handlers the Esc and Alt keys * The integer digits are showed in MinMax menu * The Alt action menu modifer key is changed back to Shift. The Alt is has own action in browsers * Update src/graph_minmax_setting_menu.js Code style improvement Co-authored-by: Mark Haslinghuis * resolved issue the empty string names for unfull DEBUG fields * Update src/flightlog.js Code style improvement Co-authored-by: Mark Haslinghuis * Update src/flightlog.js Code style improvement Co-authored-by: Mark Haslinghuis * Update src/flightlog.js Code style improvement Co-authored-by: Mark Haslinghuis * Update src/flightlog.js Code style improvement Co-authored-by: Mark Haslinghuis * the autocompetion is off in min-max input fields * Return or top level Back menu items are designed like button * added helper function for the menu control * menu button style improved * The Cancel button at chart setup dialog box has focus after openning this window * Revert "the autocompetion is off in min-max input fields" This reverts commit 269f1d5e412b079c5eb0f12d72e3bab47c251484. * Improvement: The changes of current workspace can store by Shift+S key * The Shift-S key actions information is added to Help dialog box * table column caption is renamed to 'Keep' instead of 'default' * resolved issue of unworked 'As this one' extended submenu * The 'Keep' checkbox is checked by default for new curves * Extended group full range submenu is improve * Extended one curve full range submenu is improved * enabled multiple actions in 'Set zero offset' and 'Set same scale' extended submenu * the curves expo power is set to 1 as default * added function in graph to get marked in-out time * added function to compute min-max curves values during marked time interval * added action to extended full range submenu items to set minmax for marked time interval * resolved issue in extended 'Set one scale' menu item action * resolved issue minmax compute in marked range * the grid field is removed from curves data * The main menu items actions auto close main menu * The 'Return' menu item is renamed to 'Close' * The 'Keep' checkbox setting is removed * min-max input fields style improvement * resolved issue of data storage * The charts are updated after manual changes of min-max input fields * The all extended submenu are multy actions * The unused menu functions are removed from source code * The 'Default' menu actions set as default MinMax so the default Expo and Smoothing too * Use event data for single curves menu actions * The Workspaces file example is added into project * The 'Close' main menu item active allways * The short main menu has auto closed items * workspaces-ctzsnooze.json is default workspace * docs: update README.md for pwa flow (#731) * docs: update README.md for pwa flow * Update README.md * Update README.md --------- Co-authored-by: Mark Haslinghuis * Bump ejs from 3.1.9 to 3.1.10 (#738) Bumps [ejs](https://github.com/mde/ejs) from 3.1.9 to 3.1.10. - [Release notes](https://github.com/mde/ejs/releases) - [Commits](https://github.com/mde/ejs/compare/v3.1.9...v3.1.10) --- updated-dependencies: - dependency-name: ejs dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * The mouse click at curves on the legend works like toggle button (make the analyser chart as visible/unvisible) * Remove changelog (#741) * added charts preview after any charts configuration changes * Charts redrawing is optimized * PIDsumm computing condition is improved * the menu items order is changed * resolved issue selected curves Zoom menu actions * Update src/graph_legend.js Code style improvement Co-authored-by: Mark Haslinghuis --------- Signed-off-by: dependabot[bot] Co-authored-by: Mark Haslinghuis Co-authored-by: Tomas Chmelevskij Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Míguel Ángel Mulero Martínez * Add nightly PWA link to the README (#742) * Fix current version text in the Blackbox Explorer (#746) * Associate .bbl and .bfl files with PWA (#749) * Auto fill of curves table by selecting group curves names on Chart setup dialog box (#747) * added group fields name extender function in graph_config.js * The group curves selection is self extended in charts setup dialog box * Code style improvement * added curves auto color after extend of curves group * added group fields auto fill after charts samples selection * code style improvement * the code is simplified * Update graph_config.js Resolve code style issue * Update graph_config.js Resolved semicolon issue * Update graph_config.js Removed unusing variable * Update graph_config.js Resolved code style issue * Update graph_config_dialog.js Resolved semicoma missing * Update main.js Code style improvement * Code style improvement: the for loops are changed to for of * Code style improvement * Code style improvement * resolved issue of wrong curves color draw on Chart setup dialog box * Improve curves collor assign * Resolved code issue * Restore various default workspaces by using menu (#745) * added menu (showed by Shift+W keys) to select and restore default workspaces * Code style improvement Co-authored-by: Mark Haslinghuis * Code style improvement Co-authored-by: Mark Haslinghuis * Code style improvement Co-authored-by: Mark Haslinghuis --------- Co-authored-by: Mark Haslinghuis * add dyn_idle_start_increase parameter to header view (#750) * Fix error by loading default workspace, addition to #751 (#752) * removed unused files * Default workspace function call order is changed * Fixed issues of first applications run (#753) * resolved issue of load default workspace configuration * The onSwitchWorkspace function call optimization * Resolved issue: GraphConfig load error by first programm run * resolved error of loading undefined stored graph config data by first program run * Code style improvement * resolved issue of wrong curves colors by first application run * The SonarCloud issue improvement * The SonarCloud issue improvement * Resolved issue of color assign for combined (Gyro+PID) samples graphs * Code refactoring in main.js (#754) * code fragment duplicate issue resolved * code style improvement * Resolved issue of log records count and actual log rate computing (#755) * improve field statistic and log rows count calculate * SonarCloud issue improvement * code style improvement * Bump braces from 3.0.2 to 3.0.3 (#756) Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3. - [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md) - [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3) --- updated-dependencies: - dependency-name: braces dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Chore/formatting setup (#735) * chore: add eslint, prettier and lint staged configs * chore: run eslint:fix * chore: run prettier * Update FFT_FREQ debug fields (#759) * Update FFT_FREQ debug fields * Update presentation * Reset * Recover * support rc_smoothing_rx_smoothed (#761) * rc_smoothing_rx_smoothed - WIP (this fills the existing field, but not techincally correct) * rc_smoothing_rx_smoothed - working, but is it proper? * rc_smoothing_rx_smoothed - this should be proper. caveat: fails to reset value null when 4.5 pre 4.5-RC1 * rc_smoothing_rx_smoothed - revert html id's * rc_smoothing_rx_smoothed - fix id * Filtering out bad RPM values for spectrum chart (#757) * The bad rpm values filtering by plot spectrum chart improvement. The chunks rpm averages min-max values are used now by spectrum plot * code style improvement * added gap to maximal rpm axis value at spectrum chart * code style improvement * Resolve issue of computing actual log rate for spectrum chart in case of data gaps in log file (#762) * added compute of unlogged time by handling log resumd events * added getActualLoggedTime function in FlightLog * improve getMinTime, getMaxTime functions in FlightLog * Improved actual log rate computing in spectrum chart * code style improvement * code style improvement * Add mcu_id to statusbar (#763) * Bug fix for flight modes names at the chart (#764) * The checked flight mode index is limited by 31 value to prevent show of wrong 'mirror' modes at the charts * removed tittle 'Flight mode change' to get shorter flight modes description * missed semicolon issue is resolved * Resolved issue of wrong log time computing (#765) resolved issue of getTimes flightLog methods in case of call with log index argument * Bump micromatch from 4.0.5 to 4.0.8 (#769) Bumps [micromatch](https://github.com/micromatch/micromatch) from 4.0.5 to 4.0.8. - [Release notes](https://github.com/micromatch/micromatch/releases) - [Changelog](https://github.com/micromatch/micromatch/blob/master/CHANGELOG.md) - [Commits](https://github.com/micromatch/micromatch/compare/4.0.5...4.0.8) --- updated-dependencies: - dependency-name: micromatch dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Added ALTHOLD flight mode marker at the chart for 4.6 BF firmware (#767) * added ALTHOLD flight mode for 4.6 BF firmware * code style improvement * Bump vite from 5.2.6 to 5.2.14 (#772) Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.2.6 to 5.2.14. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v5.2.14/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v5.2.14/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Added cartesian gps coords relative home point as additional computed fields (#773) * added gps coords transform module gps_transform.js * Added computed fields for coords in cartesian system * added coords values at curves legend * The home distance id added as computed field * added friendly names for gps cartesian coords * added using of gps home points altitude if it exists in log file * gps coord names are changed * Added example graphs for GPS Cartesian coords data * code issues are resolved * code issues are resolved * code issues are resolved * code style improvement * Field name is improved Co-authored-by: Mark Haslinghuis * Code style improvement Co-authored-by: Mark Haslinghuis * Code style improvement Co-authored-by: Mark Haslinghuis * Code style improvement Co-authored-by: Mark Haslinghuis * Code style improvement Co-authored-by: Mark Haslinghuis * Code style improvement Co-authored-by: Mark Haslinghuis * Update gps_transform.js * Code style improvement * Code style improvement * Code style improvement --------- Co-authored-by: Mark Haslinghuis * The azimuth of Home point added as computed field (#774) * added homes point azimuth computed field * added friendly name for homes point azimuth field * added default min max values for homes point azimuth field * homes point azimuth field is added to example graph * Comment is edited Co-authored-by: Mark Haslinghuis --------- Co-authored-by: Mark Haslinghuis * rename d_min related values (#775) * rename d_min related values * add semver checks * Fix export video (#777) * Add browser check (#778) * Export of spectrum analyzer data to Csv file (#779) * The 'Convert to Csv' button is added at the spectrum analyzer chart * The spectrum export Worker is added * The spectrum exporter is added * The exportSpectrumToCSV method is added into graph_spectrum * The action handler is addedto spectrum export button * The spectrum export button is enabled for spectrum by frequency only * The 4 spaces tabs are replaced to 2 space tab * unused library link is removed * Code issues are resolved * Code issues are resolved * Code style improvement * The export buttons tooltip text is changed Co-authored-by: Mark Haslinghuis * Code style improvement Co-authored-by: Mark Haslinghuis * Code style improvement Co-authored-by: Mark Haslinghuis * Code style improvement * Update index.html --------- Co-authored-by: Mark Haslinghuis * Added spectrum comparison by using import spectrum data from CSV file (#780) * Added 'Import from CSW' button at the spectrum analizer chart * Added importSpectrumFromCSV method to FlightLogAnalyser * Added drawing imported spectrum data * Added events handler for spectrum import button * missing semicoma issue is resolved * The buttons caption is changed Co-authored-by: Mark Haslinghuis * the imported spectrum curves color is changed to blue --------- Co-authored-by: Mark Haslinghuis * The multi-file spectrum comparison (#782) * Multiple spectrums file adding and curves showing are made * The clearImportedSpectrums method is added * The spectrum comparison Users interface improvement * Added 'Clear' button to remove imported cpectrums * Spectrum comparison users interface is visile in spectrum by frequency mode only * Spectrum comparison buttons style is improved * missing semicoma issue is resolved * Deprecate gps-rescue-throttle-pid and replace with autopilot-altitude (#784) Change gps-rescue-throttle-pid to ap-altitude * Remove gyro_scaled (#781) * Added curves legend at multi-curves spectrum (#786) * added legend at multi-spectrum chart * The buttons are placed in one row * Changed buttons height * resolved issue of wrong legend drawing code placement * Code style improvement Co-authored-by: Mark Haslinghuis --------- Co-authored-by: Mark Haslinghuis * Resolved issue of compas (mag_adc[]) curves (#787) * Added value converter for magADC (Compas) fields * Field name to friendly transformers return raw source data for unknown fields * Update ATTITUDE debug (#791) * Fix panning (#793) * Fix panning (2nd issue) (#794) Fix panning * Bump cross-spawn from 7.0.3 to 7.0.6 (#795) Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6. - [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md) - [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6) --- updated-dependencies: - dependency-name: cross-spawn dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Added curves settings for axis_s log fields (for airplanes) (#789) added curves settings for axis_s log fields (for airplanes) * Added computing of heading[] fields from new flight attitude quatrernion log data (#790) * added computing of heading[] fields from new flight attitude quatrernion fields instead of internal IMU * removed unused variable * resolved quaternion issue * improve quaternion operation * code style improvement: tab to space replacement * Code style improvement Co-authored-by: Mark Haslinghuis * Code style improvement Co-authored-by: Mark Haslinghuis --------- Co-authored-by: Mark Haslinghuis * Add missing debug modes (#796) * Add missing debug modes * Also update TPA * Resolved issues of show motor_idle and motors Start inc header fields for BF 4.6 log files (#797) * resolved issue of show motor_idle header field for BF 4.6 * resolved issue of Start inc header field for BF 4.6 * Added ATTITUDE log disabled flag for BF gte 4.6 (#799) * Added ATTITUDE log disabled flag for BF gte 4.6 * The ATTITUDE log disabled flag code refactoring * Code style improvement Co-authored-by: nerdCopter <56646290+nerdCopter@users.noreply.github.com> --------- Co-authored-by: nerdCopter <56646290+nerdCopter@users.noreply.github.com> * Added POSITION HOLD flight mode show (#788) added POSITION HOLD modes * Add SERVO disable field (#800) * Bump nanoid from 3.3.7 to 3.3.8 (#801) Bumps [nanoid](https://github.com/ai/nanoid) from 3.3.7 to 3.3.8. - [Release notes](https://github.com/ai/nanoid/releases) - [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md) - [Commits](https://github.com/ai/nanoid/compare/3.3.7...3.3.8) --- updated-dependencies: - dependency-name: nanoid dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Add AUTOPILOT_POSITION and OPTICALFLOW debug modes (#803) * The DEBUG modes list is updated. The OPTICALFLOW, AUTOPILOT_POSITION debugs are added * added converters for OPTICALFLOW debug * added converters for AUTOPILOT_POSITION debug * Update IMU (remove legacy) (#802) Update IMU * Fix type error (#806) * Add IMM42653 (#807) * Bump vite from 5.2.14 to 5.4.12 (#809) Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.2.14 to 5.4.12. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v5.4.12/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v5.4.12/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * The units converters are added for TPA (WING) debug fields (#808) The units convertors are added for TPA debug fields * Added chirp parameters to header (#658) Adjustments due to file location change * Fix undefined video export dialog (#810) --------- Signed-off-by: dependabot[bot] Co-authored-by: Tomas Chmelevskij Co-authored-by: Míguel Ángel Mulero Martínez Co-authored-by: Vladimir Demidov Co-authored-by: Mark Haslinghuis Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: nerdCopter <56646290+nerdCopter@users.noreply.github.com> Co-authored-by: MikeNomatter Co-authored-by: pichim <93905657+pichim@users.noreply.github.com> --- .eslintignore | 8 + .eslintrc.js | 40 + .lintstagedrc | 7 + .prettierignore | 36 + README.md | 36 +- changelog.html | 397 -- index.html | 158 +- package.json | 10 +- public/js/webworkers/csv-export-worker.js | 102 +- .../js/webworkers/spectrum-export-worker.js | 14 + src/cache.js | 159 +- src/configuration.js | 334 +- src/craft_2d.js | 507 +- src/craft_3d.js | 636 +-- src/css/header_dialog.css | 605 ++- src/css/keys_dialog.css | 148 +- src/css/main.css | 1816 ++++--- src/css/menu.css | 102 + src/css/user_settings_dialog.css | 142 +- src/csv-exporter.js | 70 +- src/datastream.js | 208 +- src/decoders.js | 525 +- src/expo.js | 168 +- src/flightlog.js | 2723 ++++++---- src/flightlog_fielddefs.js | 990 ++-- src/flightlog_fields_presenter.js | 4705 ++++++++++------- src/flightlog_index.js | 649 +-- src/flightlog_parser.js | 3676 +++++++------ src/flightlog_video_renderer.js | 629 ++- src/gps_transform.js | 67 + src/gpx-exporter.js | 53 +- src/graph_config.js | 2722 +++++----- src/graph_config_dialog.js | 972 ++-- src/graph_legend.js | 464 +- src/graph_minmax_setting_menu.js | 1051 ++++ src/graph_spectrum.js | 555 +- src/graph_spectrum_calc.js | 711 +-- src/graph_spectrum_plot.js | 2150 +++++--- src/grapher.js | 2183 ++++---- src/header_dialog.js | 2988 +++++++---- src/imu.js | 440 +- src/jquery.js | 26 +- src/keys_dialog.js | 17 +- src/laptimer.js | 330 +- src/main.js | 4336 ++++++++------- src/pref_storage.js | 117 +- src/screenshot.js | 36 +- src/seekbar.js | 619 ++- src/simple-stats.js | 85 +- src/spectrum-exporter.js | 42 + src/sticks.js | 605 ++- src/tools.js | 666 +-- src/user_settings_dialog.js | 1106 ++-- src/vendor.js | 16 +- src/video_export_dialog.js | 471 +- src/workspace_menu.js | 52 + src/workspace_selection.js | 252 +- src/ws_ctzsnooze.json | 3544 +++++++++++++ src/ws_supafly.json | 1591 ++++++ vite.config.js | 9 + yarn.lock | 1035 +++- 61 files changed, 30356 insertions(+), 18555 deletions(-) create mode 100644 .eslintignore create mode 100644 .eslintrc.js create mode 100644 .lintstagedrc create mode 100644 .prettierignore delete mode 100644 changelog.html create mode 100644 public/js/webworkers/spectrum-export-worker.js create mode 100644 src/css/menu.css create mode 100644 src/gps_transform.js create mode 100644 src/graph_minmax_setting_menu.js create mode 100644 src/spectrum-exporter.js create mode 100644 src/workspace_menu.js create mode 100644 src/ws_ctzsnooze.json create mode 100644 src/ws_supafly.json diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 00000000..11386694 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,8 @@ +*.json +*.html +*.less +*.css +package.json +docusaurus.config.js +public/ +src/vendor/ \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 00000000..0d873570 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,40 @@ +module.exports = { + parserOptions: { + ecmaVersion: 2020, + sourceType: 'module', + }, + extends: ['eslint:recommended', 'prettier'], + root: true, + env: { + node: true, + jquery: true, + es2017: true, + browser: true, + webextensions: true, + }, + rules: { + // TODO: currently a lot of these issues are marked as + // warnings because they are in the codebase already + // and I don't want to fix them all at once. + // Eventually, they should be fixed and the rules + // should be set to 'error' (default in preset). + 'no-var': 'warn', + 'no-unused-vars': 'warn', + 'no-undef': 'warn', + 'no-redeclare': 'warn', + 'no-prototype-builtins': 'warn', + 'no-empty': 'warn', + 'no-inner-declarations': 'warn', + 'no-fallthrough': 'warn', + 'no-useless-escape': 'warn', + 'no-constant-condition': 'warn', + 'no-unreachable': 'warn', + 'no-duplicate-case': 'warn', + 'no-dupe-keys': 'warn', + 'no-irregular-whitespace': 'warn', + 'no-case-declarations': 'warn', + 'prefer-template': 'warn', + 'comma-dangle': ['warn', 'always-multiline'], + semi: ['error', 'always'], + }, +}; diff --git a/.lintstagedrc b/.lintstagedrc new file mode 100644 index 00000000..a0018896 --- /dev/null +++ b/.lintstagedrc @@ -0,0 +1,7 @@ +{ + "**/*.{tsx,js}": [ + "prettier --write --ignore-unknown", + "eslint --fix --ext .tsx,.js" + ], + "**/*.{html,md,mdx,less,css,json}": ["prettier --write --ignore-unknown"] +} \ No newline at end of file diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..7cbc1aba --- /dev/null +++ b/.prettierignore @@ -0,0 +1,36 @@ +# node.js npm related + +node_modules/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Configurator Build process +cache/ +apps/ +dist/ +public/ +src/vendor/ +dist_cordova/ +debug/ +release/ +testresults/ +.eslintcache +cordova/bundle.keystore + +# OSX +.DS_store + +# artefacts for Visual Studio Code +/.vscode/ + +# NetBeans +nbproject/ + +# IntelliJ +.idea + +# Eclipse +.project +.settings/ +test-results-junit/ \ No newline at end of file diff --git a/README.md b/README.md index 42184b3e..aa3232f2 100644 --- a/README.md +++ b/README.md @@ -19,15 +19,19 @@ Current blackbox explorer version is built as Meaning it can work in both online and offline modes as regular desktop app would. -### Web +### Latest stable version -1. Visit https://blackbox.betaflight.com/ -2. Use the app +For the latest stable released version visit https://blackbox.betaflight.com/ -### Standalone +### Unstable testing versions -1. Visit https://blackbox.betaflight.com/ -2. Follow the procedure to install PWA on your platform. On MacOS chrome: +The latest master build is always available at https://master.dev.blackbox.betaflight.com/ + +**Be aware that these versions are intended for testing / feedback only, and may be buggy or broken. Caution is advised when using these versions.** + +### Install the app to be used in offline mode + +Follow the procedure to install PWA on your platform. For example on MacOS chrome: ![Url bar PWA install](screenshots/url-bar.webp) ![PWA install dialog](screenshots/pwa-install-dialog.webp) @@ -64,7 +68,7 @@ performance. ### Node setup We are using [nvm](https://github.com/nvm-sh/nvm) to manage the correct node -vesion, follow the install instruction there. After which from blackbox directory +vesion, follow the install instructions there. After which from blackbox directory just run: ```bash @@ -74,7 +78,7 @@ nvm use ### Yarn For dependency management we are using [yarn](https://yarnpkg.com/), follow the -instruction there to install it. +instructions there to install it. ### Development mode @@ -87,24 +91,26 @@ With `node` and `yarn` setup, to start developing run: yarn start ``` -This will start development server on http://localhost:5173/. +This will start development server and the Blackbox will be available on http://localhost:5173/. -## Installing Dev Build locally +### Installing development build locally If you want to have latest and greatest version installed on your machine from the tip of the repository: -1. First need to build the application: + +First need to build the application: ```bash yarn build ``` -2. Start the application in `preview` mode +Then start the application in `preview` mode ```bash yarn preview ``` -3. Visit http://localhost:4173/ -4. Follow the steps from [Standalone](#standalone) +Visit http://localhost:4173/ and follow the steps from [Install the app to be used in offline mode](#install-the-app-to-be-used-in-offline-mode) + +## Common problems -## Flight video won't load, or jumpy flight video upon export +### Flight video won't load, or jumpy flight video upon export Some flight video formats aren't supported by Chrome, so the viewer can't open them. You can fix this by re-encoding your video using the free tool diff --git a/changelog.html b/changelog.html deleted file mode 100644 index cc54cde3..00000000 --- a/changelog.html +++ /dev/null @@ -1,397 +0,0 @@ - - - - - - Betaflight - Blackbox Explorer Changelog - - - - - - -
-

3.5.0 - Updates for Betaflight 4.2.0

- -
    -
  • Features: -
      -
    • added the ability to take 'screenshots' of the graph
    • -
    • added options to hide graph background and time bar
    • -
    • added new PID error vs. setpoint graph
    • -
    • various UI improvements
    • -
    -
  • -
  • Fixes: -
      -
    • fixed a bug in the header display
    • -
    • fixed a number of incompatibilities with the firmware
    • -
    -
  • -
- -

3.4.0 - Updates for Betaflight 4.1.0

- -
    -
  • Features: -
      -
    • improved spectrum graph
    • -
    • added frequency vs. throttle graph
    • -
    • various UI improvements
    • -
    -
  • -
  • Fixes: -
      -
    • fixed a number of incompatibilities with the firmware
    • -
    -
  • -
- -

3.3.0 - Updates for Betaflight 4.0.0

- -
    -
  • Updates to support new logging features of the 4.0 firmware
  • -
  • Added support for touch screen input
  • -
  • UI improvements
  • -
- -

3.2.0 - Updates for Betaflight 3.5.0

- -
    -
  • Updates to support new logging features of the 3.5 firmware
  • -
  • UI improvements
  • -
- -

3.1.0 - Standalone app

- -
    -
  • Fixed spectrogram axis labeling bug for differing gyro and PID loop speeds
  • -
  • Updates to support new logging features of the 3.4 firmware
  • -
  • Added support for drag / dropping log files into the application
  • -
  • Lots of UI improvements
  • -
-

3.0.0 - Standalone app

- -
    -
  • Release of standalone app
  • -
-

2.5.13 - Minor Fixes

- -
    -
  • Version fixes
  • -
-

2.5.12 - Minor Fixes

- -
    -
  • 3.2 support
  • -
-

2.5.11 - Minor Fixes

- -
    -
  • Remove scaling from PID's in info tab
  • -
  • Added new modes and features
  • -
-

2.5.10 - Minor Bug Fixes

- -
    -
  • Bump version to v2.5.10
  • -
  • Correct Log Sync to Time entry field.
  • -
  • Add additional 3.1 parameters
  • -
  • Reorganise PID other
  • -
- -

2.5.9 - Minor Bug Fixes

- -

Observations during BF3.1.0 Release Candidate Testing.

- -
    -
  • Bump version to v2.5.9
  • -
  • DSHOT protocol list order revised on log header.
  • -
  • DSHOT1200 protocol added to log header.
  • -
- -

2.5.8 - DShot Logging and Minor Bug Fixes

- -

Some fixes in response to user observations.

- -
    -
  • Bump version to v2.5.8
  • -
  • Compatibility with Version 3.1.0 of Betaflight
  • -
  • Fix to Analyser display going blank for users using logging to onboard flash memory.
  • -
  • Always start with the values table hidden; pressing key 'T' will toggle the table; pressing the toolbar button will put it back at the bottom of the graph.
  • -
  • Fix Issue #36; viewer was not parsing version number correctly for filter scaling. Refactored functions to use library semver.
  • -
  • UI Overhall; improved handling for smaller screens.
  • -
  • Changelog added to Welcome screen
  • -
  • Add DShot to header dialog and scale motors independently to rcCommand[Throttle]
  • -
  • Update to gyro scale for BF 3.1.0; logged data is now scaled in the flight controller.
  • -
  • Add new debug fields to header and logs.
  • -
  • Add OSD and ESC features options to header dialog.
  • -
  • Add new BF3.1.0 parameters to header dialog.
  • -
  • Add user setting to show raw values on legend.
  • -
  • Correct VBAT scaling for BF3.1.0.
  • -
- -

2.5.7 - Minor Bug Fixes and Feature Improvements

-
    - -
  • Bump version to v2.5.7
  • -
  • Correct case on Mode_x.png icons to prevent file not found on user settings dialog.
  • -
  • Update of video export vendor function from cleanflight/master; many thanks to @thenickdude. This is for users experiencing difficulties (linux?) generating video exports. Issue #30.
  • -
  • Added filename extension .BFL to auto-detect large log files; thanks to @mikeller
  • -
  • Mousewheel controls update as per feature request #31;
  • -
  • Add remove all button to graph config dialog #34; this is a port of the original viewer feature added by StewLG.
  • -
  • Added new log header parameters for second gyro notch filter.
  • -
  • Removed x100 frequency scaling for BF 3.0.1 to keep in sync with latest BF
  • -
  • Minor HTML code tidy-up for header dialog.
  • -
  • Add user setting to invert yaw on stick display. Off is normal; On is inverted.
  • -
  • Add user setting to apply hanning window to analyser FFT.
  • -
  • Add snap points to analyser zoom bars; to make it easier to get back to zoom level x1
  • -
  • Scale the colour gradient based upon zoom level so that zooming the fft doesn't push the bars into the red.
  • -
  • Improve graph background, add transparent gradient for better contrast.
  • - -
-
-

Notes

- -

Log file extension

- -

BB Viewer attempts to determine the file type you are opening by examining the file extension first. Where no file extension is used in the name, - then BB Viewer will guess the type of file; which is usually fine for small log files (<10MB).

-

For log files larger than 10MB, then BB Viewer guesses they are video files and tries to load it (and fails because it is not a video)

-

So as a tip, it's best to use a file extension when you save your logs.

-

The file extensions that are automatically recognised are: -

-
    -
  • .TXT, .CFL, .BFL and .LOG as log files,
  • -
  • .AVI, .MOV, .MP4, .MPEG as video files,
  • -
  • .JSON as workspace backups
  • -
- -

If it is not one of those extensions, it takes a guess on the type by file size (if file-size < 10MB then Log file else its a video);

- -

Mousewheel Improvements

-

- As you are probably already aware, scrolling the mouse wheel whilst the mouse pointer is over the graph will move the timeline forwards and backwards: - -

    -
  • Scrolling moves the timeline,
  • -
  • Scrolling whilst holding the SHIFT key, zooms the timeline
  • -
  • Scrolling whilst holding the ALY key, speeds up the zooming of the timeline.
  • -
-

But now, thanks to suggestions from Joshua Bardwell, the mouse wheel functionality has been extended... - With the mouse pointer over a field in the graph legend...

-
    -
  • Scrolling will dynamically adjust the SMOOTHING for the field.
  • -
  • Scrolling whilst holding the SHIFT key,adjusts the ZOOM for the field
  • -
  • Scrolling whilst holding the ALT key, adjusts the EXPO for the field.
  • -
- -

With the mouse pointer over the field group heading and then scrolling the mouse-wheel will adjust all fields within the group at the same time.

-

Finally, if you "click" the middle mouse button, then the dynamic settings go back to the values you first set in the graph config dialog when - choosing the fields. Again, clicking on a single field will reset just that field, clicking on the group header will reset all pens within the group.

-

So it is no longer necessary to keep going into the graph config dialog to adjust the values; just use the mouse wheel...

-

The smoothing, zooming and expo dynamic changing above do not affect workspaces so you can always go back to your preferred settings by re-selecting the workspace.

- -

You will also notice now that to scroll the whole page using the mouse-wheel, you must move the pointer off both the graph and legend areas - (e.g move the pointer to the toolbar area and then scroll the wheel.

-

Grids

-

-

    -
  • TIP 1: It is easier to see the effect of the zooming and expo adjustment if the graph has the grid displayed... to display a grid for a field, - then ALT left-click a field and the grid will be shown for that field.
  • -
  • TIP 2: After you have selected a grid to display (using TIP 1); pressing the 'G' key will quickly toggle the grid on/off.
  • -
-

-
- -

2.5.6 - Some minor field name relabelling.

-
    -
  • Version updated to 2.5.6
  • -
  • rcCommands[] fields re-labelled as setpointRate[] fields to reflect their actual use as the setpoints into the PID controllers.
  • -
  • debug[] fields for debug mode "NOTCH" corrected to gyro_preNotch[] as per revision in RC14.
  • -
- -

2.5.5 - Minor code cleanups and re-scaling of rate calculations (for Betaflight v3.0.0 RC12).

- -
    -
  • Version updated to 2.5.5
  • -
  • Fixed #27 selecting rcCommand[all] will now scale pens individually.
  • -
  • Updated rate calculation to match new rates in Betaflight v3.0.0 RC12.
  • -
  • Updated Analyser window start/end times to allow for logs that start after or cross over the 5 min boundary (for those logging using a switch).
  • -
  • Corrected Log Sync Forward/Backwards buttons (thanks Joshua Bardwell for finding that one); the graph window now updates immediately after button is pressed.
  • -
  • Removed Obsolete parameters from header.
  • -
- -

2.5.4 - Mainly User Interface Tweaks.

- -
    -
  • Version number updated to 2.5.4
  • -
  • Zoom Sliders attached to analyser window rather than graph window. See Issue #23
  • -
  • Tooltips adjusted for better readability (changed colour and position); Window scrollbars corrected when run as Chrome App #18, #19 and #20.
  • -
  • Added Icon and page title for users running in a browser window.
  • -
  • Increased the size of the analyser window filter text when shown in fullscreen mode.
  • -
- -

2.5.3 - Patch Update for Notch Filter Widths

- -
    -
  • Version number increased to 2.5.3
  • -
  • Patch to correct the notch filter widths displayed on the analyser window. Range is now only visible when the cutoff frequency is above 0.
  • -
- -

2.5.2 - Minor Bug Fixes and Analyser Tweaks

-

Some fixes and modifications resulting from user suggestions.

- -
    -
  • Version number increased to 2.5.2
  • -
  • Bugfix #13 ; changing log file with analyser maximised causes analyser to shrink back to normal size but doesn't update the button on the tool banner.
  • -
  • Added scooter to analyser display window; holding SHIFT key whilst moving mouse over analyser window will show the frequency under the mouse. Suggestion #14.
  • -
  • Hide frequency labels for unused filters (e.g. if gyro_notch_hz is set to 0 (un-used) then don't show line for it on analyser window (de-clutter the window).
  • -
  • Hide frequency parameter labels for Dterm when analysing a Yaw field (as there is no D) and visa versa, only display Yaw LPF frequency parameter when on Yaw fields.
  • -
  • Notch filter lines on analyser window show the width of the notch from center to +/- cut-off frequency.
  • -
  • User can now choose part of log to analyse if they don't want to examine whole log (which is the default). Mark the start of the analyser window using key 'I' and the end of the analyser using key 'O' (for In/Out). Analysed portion of the log is highlighted in the same way as video export feature.
  • -
  • Some spelling corrections.
  • -
  • Added independent zoom controls to analyser window (when in fullscreen mode). Can now zoom in the frequency range so that you can ignore higher frequencies.
  • -
  • Amended tooltip default behaviour to "hover" only; to prevent tooltips sticking 'on' the page.
  • -
- -

2.5.1 - Header Updates and New Analyser

- -

This is a maintenance release.

- -
    -
  • Updated version number.
  • -
  • Modified header dialog to include new header fields for Betaflight V3.0.0 RC6 (Notch filters/RC interpolation etc).
  • -
  • Status bar now shows gyro/pid/motor sync values (e.g. 250us 4k/2k/SYNCED or 250us 4k/4k/32k).
  • -
  • Accelerometer range extended from 3G to 16G to prevent graph clipping on high powered craft.
  • -
  • Thanks to Rav-Rav, a new enhanced analyser function has replaced the old dynamic one; this analyser is static but shows the noise for the whole log file in far greater detail.
  • -
  • When using Betaflight debug mode feature (from the cli), debug fields on the viewer will be shown with their relevant field name, range and scaling; the debug_mode is logged in the header too (BF3.0.0 and later).
  • -
- -

2.5.0 - Grids, INAV Header Support and Stick Trails.

- -

New Features

- - Now also available in chrome store! - -

Some New Features and minor code cleanups

- -
    -
  • Added grid's to chart backgrounds;
  • -
  • Added Shortcut key 'G' to toggle the grids On, Off globally.
  • -
  • Thanks to DzikuVx; INAV header's can be displayed in viewer.
  • -
  • Added INAV logo and blue theme to header buttons, graph config dialog. (Theme is Green for Cleanflight, Orange for Betaflight and Blue for INAV).
  • -
  • Gyro chart range increased to +/-2000deg/s was a minor calculation error that limited the gyro chart to approx +/-1500deg/s
  • -
  • Header update for Betaflight v3.0; added fields gyro_notch_hz, gyro_notch_q, rc_smooth_interval and "Craft name"
  • -
  • Craft Name is now shown on status bar (if entered in CLI) and also at top of header dialog (Betaflight v3.0 only).
  • -
  • PID Controller type names on header updated for Betaflight v3.0.
  • -
  • Stick Trails; This feature can be turned on from the User Settings dialog, will show a phosphor trail on the stick display that shows the movement of the sticks for the last 500ms.
  • -
  • Add tooltips to primary logger controls.
  • -
  • Thanks to BorisB, Added New Event names for Betaflight Twitch Testing mode.
  • -
  • Added new version information to welcome page; A new button is available to download the the latest official release.
  • -
- -
-

Notes on Grid Background

- -

By default, no grids are shown on the graphs.

- -

To add a grid background to the chart, 'ALT' Click the graph field name that you want the grid to show for.

-

To select another field to show the grid for, 'ALT' click another field.

-

To remove the grid, 'ALT' click the field again (it is a toggle).

-

Grid settings are workspace aware, so you can have different configurations for each workspace. (Just save the workspace after you have setup the grid display).

- -

With grids shown, pressing the 'G' key will toggle the grid display on/off globally so that you can quickly hide the grid.

- -

The lines on the grid represent 100ms time slots and each horizontal gridline represents 20% of the range of the signal. It makes it easier to see how the expo setting for the graph emphasises the centre section of the graph.

-
- -

Other Changes prior to 2.5.0

- -
    -
  • Adjustable Line Widths
  • -
  • Single frame scrolling (Hold ALT key whilst using cursor left and right)
  • -
  • Drag/Drop re-ordering of graphs on the chart (works in the graph configuration dialog too).
  • -
  • New shortcut keys 'S' and 'X' to toggle on/off all smoothing and expo on the chart.
  • -
  • New Watermark feature to add your own logo to exported video's or live-streams.
  • -
  • New Lap Time feature to add timing information to your exported video's.
  • -
  • Complete Change Summary
  • -
  • Custom Stick Configurations for those that fly mode 1; stick display will now show correctly.
  • -
  • General Cosmetic Changes;
  • -
  • Betaflight and Cleanflight logos displayed on header bar; autodetect log version to display correct logo.
  • -
  • Header popup window is disabled for Cleanflight users (as the information is not held in the log file yet).
  • -
  • New links on the welcome screen and title has been changed to the Enhanced Blackbox Explorer to distinguish it from the standard viewer.
  • -
  • Advanced User Dialog Box to allow user to adjust size and position of the overlay icons (craft, sticks and analyser view)
  • -
  • User configurable stick display,can now display the sticks with throttle % and roll,pitch,yaw in deg/s
  • -
  • Marker/Measure mode (M key) will now show the time difference directly on the graph when you scroll; also the calculated frequency is displayed to quickly measure noise (for example).
  • -
  • Log controls now locked to the top of the display so they are visible even if you scroll down the page.
  • -
  • The multiple log selection and dropdown is now shown in the graph legend for easier selection. (and to prevent it being hidden on lower resolution displays).
  • -
  • Selecting [all] fields in graph config will cyclically assign alternate colors to fields (starting with the selected color)
  • -
  • When entering filters on configuration file, the updating list would generate errors if the grep statement was invalid. (could only be seen in developer mode).
  • -
  • Video export now fixed (still no sound though :-( ); also if you hide an item on the graph display (hide the craft for example), then it will also be hidden on exported video.
  • -
  • Cleanup hide/display of popup table (key 'T'); originally if the table was hidden and you popped up the overlay, when you hid the table again, it would show at the bottom of the page; now it will return to its originally selected state.
  • -
  • You can load 2 configuration dump files; if you load a second one with the the word 'default' in its filename (e.g. Betaflight V2.7.2 Default.txt) then this file will be used as a baseline for the first loaded file; all differences between the two files will be highlighted in red. Also, once a "default" file is loaded, it will be cached and autoloaded next time you open up the log viewer; thus you only have to re-load the "default" file if and when the default values are changed.
  • -
  • Header and Scaling now Betaflight v2.8.0 compliant; will auto-detect version from log file and scale accordingly.
  • -
  • Analyser Crash fix for crash that occurs if switching between many logs repeatedly (more than 6 times per session).
  • -
  • Code improvements for operation in Linux.
  • -
  • Additional User Settings Dialog for custom motor mixes (for those not running a standard X quad). Note that this setting only affects the craft overlay icon that is displayed. Deselecting "Custom" will display craft the traditional way (this is the default, you only need to change it if you are running a special motor configuration).
  • -
  • When using the Marker function (M), the time offset from the marker also shows the frequency in Hz (so if you mark the peak of a wave, then scroll to the next peak, you can quickly see the frequency of the wave). Quickly identify the frequency of your noisy gyro's.
  • -
  • Shortcut key 'T' will toggle the field value table as an overlay; no need to keep scrolling down to look at the values; the table is still dynamic and will update if the the log is scrolled, played...
  • -
  • Users can select their own colors for the graph fields on the graph configuration dialog. Colors are workspace aware and can be set on a per workspace.
  • -
  • FOCUS, selecting the graph title on the legend will hide the other graphs leaving only the selected one displayed; selecting the title again will put them back.
  • -
  • The log filename is now in the header and the header is fixed so that it doesn't scroll off the top of the display.
  • -
  • The filter settings from the header are shown on the analyser screen for reference
  • -
  • Configurable relative graph heights.
  • -
  • Workspace Export and Load feature. (New Export button for workspaces shown on page header creates a file "workspaces.json" in your downloads folder, these can be renamed to whatever but MUST have the extension .json). To re-load saved workspaces from file, use the standard open log file/video to select the archived file.
  • -
  • Configuration Dump text file load and view; it is now possible to open up a "dump" file for the flight controller configuration. This has to be a text file, with extension .TXT and must include the "# dump" line near the top of the file for the viewer to recognise it as a configuration file (rather than a normal LOG.txt file). Simply copy the CLI dump output to a text file and save it as "something.txt". Use the standard open log file/video button to open the file. The name of the loaded file is shown on the status bar (bottom right). To view it, either click the name in the status bar or press key 'C' (pressing C repeatedly will toggle the display). The view is scrollable and there is a filter search feature if your looking for a particular entry.
  • -
  • Added new status bar feature.
  • -
  • Minor changes to tidy up log header to match released version of Betaflight v2.7.0.
  • -
  • Noticed that the Smart Sync combination M and ALT M only worked if you dragged the graph in the positive direction only. This is now fixed so that you can sync backwards and forwards of the marked point.
  • -
  • Also moved the header and keyboard shortcut buttons off the legend and up into the view toolbar to maximise space for the legend.
  • -
  • New dialog box added to review extra log header data;
  • -
  • Added Keyboard Shortcut Pop-up dialog.
  • -
  • Added ability to maximise the analyser window.
  • -
  • Added bookmarks
  • -
  • Legend now shows values
  • -
  • New icon alongside legend fields to show that they can be clicked.
  • -
  • New View toolbar to allow user to hide/view overlays. (table, craft and sticks).
  • -
  • The graph smoothing, expo and scale automatically match the original log viewer settings when first adding the graph field to the chart; you can, of course, change these on the dialog to what you want, but at least you now know what the defaults were in the original log viewer.
  • -
  • Bug fix the 'Log Setup' dialog so that the log file does not have to be re-loaded after changing the settings.
  • -
  • Fixed bug where the Anaylser would cause a crash after loading a log file 6 times.
  • -
  • Fixed Issue #6.
  • -
  • Added user configurable time to main chart window; user can now enter the desired log time to view directly without the need to scroll.
  • -
  • Added measure mode to graph; pressing 'M' will put a marker on the graph; then the difference between the current time and the marker is displayed in the toolbar. Pressing 'M' again removes the marker.
  • -
  • Easy log/video sync, press 'M' on the log to mark an event (start of flip or roll), then scroll until the first video frame that shows the event (video frame shows start of corresponding roll or flip). Now press [Alt]M to move the log/video sync to this point. 8 New Feature : Workspaces;
  • -
  • Shortcut Keys Added
  • -
  • Mouse Wheel Controls Added
  • -
  • Custom Field Smoothing, Expo and Zoom
  • -
- -
- diff --git a/index.html b/index.html index db27284c..5218a8d4 100644 --- a/index.html +++ b/index.html @@ -14,7 +14,7 @@ - + @@ -142,15 +142,6 @@

Welcome to the Enhanced Blackbox Explorer!

- -
-
- Changelog -
-
- -
-