-
Notifications
You must be signed in to change notification settings - Fork 1
Bugfix v0.4.3 -> v0.4.4 #97
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
an enumeration has variable byte size, and depends on the mcu architecture. the byte size is read during parsing and available at variable.info.byte_size
renamed method from scope_sample_time to get_scope_sample_time calculation is based on retrieved values and not on magic numbers
X2Cscope
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fix the marked points
doc/gui_qt.md
Outdated
|
|
||
| ## Tab: ScopeView | ||
|  | ||
|  |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same, attention on the urls
X2Cscope
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok
* including poetry on quality.txt * fix import pyx2cscope on test scripts * excluding csv files from example folder * including sphinx autodoc * Github action for github pages * Move github action to the correct dir * Do action on any branch * Github action dependency fix python version * Fix: Removed old dependency pylnet * Fix python version for doc generation action * Adding static code analysis ruff, pylint, isort * Fixing code structure and linter errors, plus isort and black * restructure versioning * Updated sphinx doc style, updated LOGO and index * adding pytest and initial tests * Added tests action * Fix versioning, fix package install for pytest * Added sphinx auto api and updated doc index * Added favico and isort,black * added runConfiguration to VCS (.idea) * Updated actions to release and document the project * fix documentation action * Adding verbose to poetry publish * Feat array support (#20) * getting array size from die * added support for Array. * added support for Array on 32-bit. * added support for Array. * added array support for structure. * adding array functionality. 1. added function is_array(). * working array functionality for 16-bit and 1st level structure on 32-bit * enhanced XC16 compiler error message * fixed _get_array_values * adding array behavior to variable Now after getting a variable from the factory, it is possible to call my_array[0] my_array[-2] len(my_array) * Included Mocker for Serial test * including setitem on array * test wrong elf file path 16/32 * fixing SerialStub.py with real data * reformatting bytearray * expanding black to 120 characters * install XC16 for test * install XC16 on documentation.yml * install XC16 documentation.yml 2 * sudo install on XC16 * including XC16 on PATH * including XC16 on GITHUB_PATH --------- Co-authored-by: Yash Agarwal <yash.agarwal@microchip.com> Co-authored-by: Edras Pacola <edras.pacola@microchip.com> Co-authored-by: Mark Wendler <mark.wendler@gmail.com> * Including X2C Web interface (#23) * including variables on scope_channel * watch_view working * export chart as csv * splitting views * handling empty scope channels * including argparse to main * connect/disconnect * open watch and scope on new window * addind load and save urls * enable production mode * download config files watch/scope * added method clear_scope_channel * qrcode for redirect * localhost instead of host * update mchplnet version --------- Co-authored-by: Edras Pacola <edras.pacola@microchip.com> * Update documentation, bugfixes, and minor enhancements * excluded isort and black * include ruff with google convention * replace black and isort by ruff on action workflow # I - isort style for imports # N - pep8-naming # F - pyflakes # D - pydocstyle # PL - pylint lint.extend-select = ["I", "N", "F", "PL", "D"] * adding config.ini to the examples folder * theme read-the-docs for sphinx-build * including argparse on main * update version * adapt web to new Variable class name * enhancing documentation --------- Co-authored-by: Edras Pacola <edras.pacola@microchip.com> Co-authored-by: Yash Agarwal <yash.agarwal@microchip.com> Co-authored-by: Mark Wendler <mark.wendler@gmail.com> * Fix dependencies (#31) * defining argparse Namespace * including flask dependency * unittest for web X2C * enhancing logger function * Fix documentation links * enhancing error msg if read elf not available * Including additional instructions to install at system level * fixing submodules * Unused project files clean-up * including test library on quality.txt * including sample frequency on scope_view.py * Fixing automated test dead loop, removed unused variable * Ruff fix of unused imports * bump version to 0.2.1 * Milestone v0.3.0 (#52) * Feat argument to pass elf file (#45) * include elf and port arguments Made a clean-up on the main file. No modules are loaded and according to user selection, the respective module is loaded and executed. Arguments -e --elf and -p --port have being included. Additionally, the utils module was moved from examples to the main pyX2Cscope module. So the elf file and port configuration over config.ini can be called. A small logic for elf file and port was also added, see _args_check() * pointing to the main mchplnet project --------- Co-authored-by: Edras Pacola <edras.pacola@microchip.com> * pointer of mchplnet to main (#49) Co-authored-by: Edras Pacola <edras.pacola@microchip.com> * Fix web interface offline (#50) * disabling setup group when connected * renaming xc2scope.py to x2cscope.py * script files available offline * Bug-Fix for dsPIC33ck and version number change. * pointer to mchplnet main * removed legend from chart * added warning when the server is open for ext. request --------- Co-authored-by: Edras Pacola <edras.pacola@microchip.com> Co-authored-by: Yash Agarwal <yash.agarwal@microchip.com> * Executable scripts entry (#51) * #43 scripts entry point added to project toml * adding test for binary install * Updating readme with executable interface and python minimum version added to dependencies * Feat elfparser32 array (#47) Fixing ELF_parser32 to support array functionality. * Fixing ELF_parser32 to support array functionality. * implemented sucessfully the array functionality for 32 bit parser. * Updated test for elfparser32 for array. * Working for dspic33A. * changes for dsPIC33A. 1. need a new name for A-core. * To make the floating point value work for dspic33a. * fixed floating point trigger level issue. * added watchview plot. * added scaling. * searchable combo boxes. * Re-initialize all the variable on disconnect and connect * some layout fixes * load and save config. * getting address variable, need to work on address. * getting variable, need to work on address. * Scope Sample Time implementation. * bug fix-scaling factor. * implemented real time axis. 1. scope sample time box. * implemented real time x-axis. * name change. corrected the data set size as per documentation which is based on the microcontroller type. corrected the data set size as per documentation which is based on the microcontroller type. getting now accurate time frame. * bug fixed. to make parser working for GUI with xc16-readelf.exe in the folder * Added New tab3. With add variable and remove variable. * scailing and scaled value. * added scaling functionality. including elf parser in save config. also user could change later if elf file not found. save and load config also now loads all the variable for tab 3. * feature added: 1. as soon as the config file is loaded, it will also check for the elf file and if both are loaded it will connect to the serial. 2. also the comport and baudrate are selected so if the user is on the same comport and same baudrate, it will attempt to connect automatically. Elfparser getting more variable with address. Optimized to parse address faster. * bugfix. taking into consideration only full datasets. * implemented extern defined variable functionality. * Optimization is to work for all variable data types. * added functionality to access device info from x2cscope.py * Auto serial connect from load config. * Working auto connect com port. * Working auto serial connect. --------- Co-authored-by: Yash Agarwal <yash.agarwal@microchip.com> --------- Co-authored-by: Mark Wendler <mark.wendler@gmail.com> Co-authored-by: Edras Pacola <edras.pacola@microchip.com> Co-authored-by: Edras Pacola <edras.pacola@gmail.com> Co-authored-by: Yash Agarwal <yash.agarwal@microchip.com> * Bugfix/doc/images (#54) * changed the absolute path to images in README.md * changed version number to 0.3.1. * removed unwanted requirement --------- Co-authored-by: Yash Agarwal <yash.agarwal@microchip.com> * Bugfix dependencies (#56) * Fix misspelling xc2scope to x2cscope * Update readme with manual reinstall * Fix version at __init__.py * Fix toml version format * fix pip install --user pyx2cscope (#57) * Fix documentation pip install --user (#59) * fix pip install --user pyx2cscope * fix documentation pip install --user * bump version after fix documentation * Milestone 0.4 (#78) * Feat connect without elf (#65) * including DummyParser * DummyParser does not need an elf file, * moved locations of the images. (#67) * update blockdiagram * pyinstaller to requirements * Add build executable github actions and pyinstaller spec * add icon for windows executable * adding requirements.txt for buildexecutables * Feat unified parser (#66) * changed version number * introduced new implementation of dwarfExpr. * adding array functionality to structures. * added demo example * Feat update unit test (#64) * remove xc-16 install from github test * added pyx2cscope package install * including test for non-existing variable on 16 and 32 bits * test array pointer * Bug Fix- Single shot working. * Adding mchplnet local dependency checkout * removed repeated variable info. * Updating package dependecy versions * Add shared lib dependecy and webInterface Bash script * Feat import export variable list (#68) * adding functions to import/export variables * pickle, yaml, and elf file format * adding example program * added test to check for import/export - single variable - multiple variables - all variables - yaml, pickle, and elf file * include test for dspic33ak (#74) * CamelCase to sneak_case and bring examples to same naming convention x2c_scope * Documentation simplification and improvements. * run buildexe action only on manual trigger * Fix web interface thread (#77) * replace constructor elf to import method * web is thread safe with x2cscope * handling invalid watch and scope load files * bug, x2c is not initialized solved Co-authored-by: Edras Pacola <edras.pacola@microchip.com> Co-authored-by: Yash Agarwal <yash.agarwal@microchip.com> Co-authored-by: Mark Wendler <mark.wendler@microchip.com> * Milestone 0.4 - minor update to 0.4.1 (#90) * fix scope trigger and enumeration type (#87) * removed MCU data width scaling, trigger point calculation for array element * reinserting get_variable_raw This method was refactored in version 0.1 to internal method _get_variable_instance. VariableInfo was moved from Parser class to Variable class. The example SFR_Example.py was made to test this behavior but was not included into the tests. It is not yet included. * refactored some examples to fix logging * fix SFR example to import the right library * change get_device_id example * Fixed enum variable types (static only) inside structures still not working * Enhancing enum implementation with architecture considerations (data width) * fixed import error on LNet the code was importing the module and should import the class. --------- Co-authored-by: Edras Pacola <edras.pacola@microchip.com> * bump version to 0.4.1. --------- Co-authored-by: X2Cscope <73351552+X2Cscope@users.noreply.github.com> * Milestone 0.4.2 - minor update elf parser supports structure, enums and unions (#93) * Fix struct enum (#92) * merged process_end_die * enum working with structs and arrays * general variable instantiation is now optimized. * Before creating VarInfo objects, a valid address is checked. * including tests for enum tests for 16 and 32 bit cores * optimize offset calculation on struct members * include test to check struct member address * union is partially available: if a union is multiple of bytes it is working. if a union contain elements that have size of some bits, the variable is detected and included, but read and write on these variables are unpredictable. Do not use. * ruff fix * bump version 0.4.2 --------- Co-authored-by: Edras Pacola <edras.pacola@microchip.com> * Milestone v0.4.3 - minor update, bit size variables and enhancements (#96) * removed arguments from class Variable - Class Variable needs VariableInfo parameter and LNet to get instantiated. - Instead of adding more parameters to the constructor, we store the VariableInfo as a member. * moved set_value to Variable class, added _set_value as abstract function - moved call to checking value_range to parent class - enables generic processing before moving to specific processing * reading bit-size variables under unions / structs regardless variable's byte size * writing bit-size variables regardless byte size * increasing number of variables on generic_gui * changed default generic_gui logger level from warning to error - this avoids minor level messages showing up on terminal * fixed behavior when variable name is not found If the variable does not exist in elf file, we log message "Variable '{name} not found!" and return None If the variable is found, but an error occurred when parsing, we log the error message and return None * Changing prints over the code to logging.debug * Changed contact information * ruff check * bump version --------- Co-authored-by: Edras Pacola <edras.pacola@microchip.com> * bump v0.4.4 Bugfix v0.4.3 -> v0.4.4 (#97) * VariableInfo goes under info member * fixed enum byte size an enumeration has variable byte size, and depends on the mcu architecture. the byte size is read during parsing and available at variable.info.byte_size * fixed sample time window calculation * renamed method from scope_sample_time to get_scope_sample_time * calculation is based on retrieved values and not on magic numbers * adapted generic_gui.py to correct function call on get_sample_time * formatting code * enhancing docs * fixed web gui with new VarInfo dataclass * bump version 0.4.4 * fixing documentation and image links * fix README.md * fix web initial message error --------- Co-authored-by: Edras Pacola <edras.pacola@microchip.com> * Milestone v0.5.0 (#102) * Websockets for webx2c (#101) * fixed html files name pattern on webx2cscope * convert to bootstrap 5 * update mchplnet pointer main@v0.2.2 * fixed bug removing variables from scope view web * visual fix on mobile view * fixed overlay of dropdown and header of table * variable hide on scope_view.js * adding variable legends to the chart. when you click on the legend item, it hides or shows the line chart. * fixing demos * websockets for watch-view and scope-view * pointing to mchplnet v0.3.0 * bug fix - trigger_level trigger_level must be in range of variable if trigger_level is outside this range, it clamps to max or min accordingly * removing prints * fix doc misspelling * fixing example readability * when adding a variable on watch-view, read the value before * fixed labels on x-axis on webview * fix views when connect/disconnect * default log level for x2cscope is error * enhancing serial_stub.py for get_ram and put_ram * included test for thread safety * fixing interface on mchplnet * enhancing examples * enhancing existing tests * enhancing github actions documentation.yml - if the merging branch is the main, check if we have a new version * fixing to default snake_case on mchplnet * update mchplnet pointer * fix docstrings * fix imports format * fix docstring on tests * removing elf16 parser - elf16_parser.py was deprecated on previous versions and now it was removed. - The current elf parser implementation handles both 16 and 32 bit architectures and is based on pyelftools. * include linter ignore. - generic gui needs to be refactored. * removing debug prints * including version check and auto-update of version on __init__.py on pre commit * update mchplnet to version 0.3.0 * fix mchplnet dependency * enhancing enum_variables added specific methods for enum: - get_enum_list - set_enum_value - get_enum_value * importing eventlet in case webinterface is called --------- Co-authored-by: Edras Pacola <edras.pacola@gmail.com> Co-authored-by: Edras Pacola <edras.pacola@microchip.com> * Version 0.5.1 (#103) * removing eventlet from webinterface this package is deprecated and should not be used for new projects. socketio use only threading from python * fix installer dependencies pyinstaller needs to add the hidden dependencies of web interface * automate artifacts generation this script: - builds the exe - copy the .bat file to start web interface - zip the contents - download the wheel file from pypi - place everything under dist folder to upload to release page on github * enhance development documentation * bug fix on multidimensional array Only the first indeces of multidimensional matrices were being addressed. Added matrix example on example folder * version 0.5.1 --------- Co-authored-by: Edras Pacola <edras.pacola@microchip.com> --------- Co-authored-by: Edras Pacola <edras.pacola@microchip.com> Co-authored-by: Mark Wendler <mark.wendler@gmail.com> Co-authored-by: Yash Agarwal <yash.agarwal@microchip.com> Co-authored-by: Edras Pacola <edras.pacola@gmail.com>
3 Bug fixies at this v0.4.4
VariableInfo is since v0.4.3 a member of Variable class.
Members of Variable class derived from VariableInfo now belong to member info.
Direct calls to VariableInfo members from Variable class should be made over variable.info.member_name.
This was fixed at generic_gui, web gui, and all examples
Enums have variable size according to the mcu architecture and number of elements.
it was hardcoded and now it takes the size read by the parser when creating the enum variable
fixed scope time scale according to the number of variables at the channel, resolution and buffer size.
fix images url path on the documentation and pypi.
fix on initial error message on weg gui
enhanced documentation and examples
some formatting changes at the code