pyx2cscope 0.0.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pyx2cscope-0.0.2/LICENSE +19 -0
- pyx2cscope-0.0.2/PKG-INFO +89 -0
- pyx2cscope-0.0.2/README.md +59 -0
- pyx2cscope-0.0.2/pyproject.toml +32 -0
- pyx2cscope-0.0.2/pyx2cscope/__init__.py +0 -0
- pyx2cscope-0.0.2/pyx2cscope/__main__.py +10 -0
- pyx2cscope-0.0.2/pyx2cscope/gui/__init__.py +0 -0
- pyx2cscope-0.0.2/pyx2cscope/gui/img/COM-Port.jpg +0 -0
- pyx2cscope-0.0.2/pyx2cscope/gui/img/MCHP.png +0 -0
- pyx2cscope-0.0.2/pyx2cscope/gui/img/Setting.jpg +0 -0
- pyx2cscope-0.0.2/pyx2cscope/gui/img/__init__.py +0 -0
- pyx2cscope-0.0.2/pyx2cscope/gui/img/afterconnect.jpg +0 -0
- pyx2cscope-0.0.2/pyx2cscope/gui/img/microchip-technology-logo.png +0 -0
- pyx2cscope-0.0.2/pyx2cscope/gui/img/refresh.png +0 -0
- pyx2cscope-0.0.2/pyx2cscope/gui/minimal_gui.py +523 -0
- pyx2cscope-0.0.2/pyx2cscope/parser/Elf16Parser.py +347 -0
- pyx2cscope-0.0.2/pyx2cscope/parser/Elf32Parser.py +273 -0
- pyx2cscope-0.0.2/pyx2cscope/parser/Elf_Parser.py +34 -0
- pyx2cscope-0.0.2/pyx2cscope/parser/__init__.py +0 -0
- pyx2cscope-0.0.2/pyx2cscope/variable/__init__.py +0 -0
- pyx2cscope-0.0.2/pyx2cscope/variable/variable.py +296 -0
- pyx2cscope-0.0.2/pyx2cscope/variable/variable_factory.py +127 -0
- pyx2cscope-0.0.2/pyx2cscope/variable/vartypes.py +14 -0
pyx2cscope-0.0.2/LICENSE
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
(c) 2020 Microchip Technology Inc. and its subsidiaries.
|
|
2
|
+
|
|
3
|
+
Subject to your compliance with these terms, you may use Microchip software
|
|
4
|
+
and any derivatives exclusively with Microchip products. You're responsible
|
|
5
|
+
for complying with 3rd party license terms applicable to your use of 3rd
|
|
6
|
+
party software (including open source software) that may accompany Microchip
|
|
7
|
+
software.
|
|
8
|
+
|
|
9
|
+
SOFTWARE IS "AS IS." NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY,
|
|
10
|
+
APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT,
|
|
11
|
+
MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
|
|
12
|
+
|
|
13
|
+
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
|
|
14
|
+
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
|
|
15
|
+
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
|
|
16
|
+
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
|
|
17
|
+
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
|
|
18
|
+
CLAIMS RELATED TO THE SOFTWARE WILL NOT EXCEED AMOUNT OF FEES, IF ANY,
|
|
19
|
+
YOU PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: pyx2cscope
|
|
3
|
+
Version: 0.0.2
|
|
4
|
+
Summary: python implementation of X2Cscope
|
|
5
|
+
Home-page: https://x2cscope.github.io/
|
|
6
|
+
License: Proprietary
|
|
7
|
+
Author: Yash Agarwal
|
|
8
|
+
Author-email: yash.agarwal@microchip.com
|
|
9
|
+
Classifier: License :: Other/Proprietary License
|
|
10
|
+
Classifier: Programming Language :: Python :: 2
|
|
11
|
+
Classifier: Programming Language :: Python :: 2.7
|
|
12
|
+
Classifier: Programming Language :: Python :: 3
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.4
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.5
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.6
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.7
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
21
|
+
Requires-Dist: PyQt5 (>=5.15.9,<6.0.0)
|
|
22
|
+
Requires-Dist: mchplnet (==0.0.2)
|
|
23
|
+
Requires-Dist: numpy (>=1.25.1,<2.0.0)
|
|
24
|
+
Requires-Dist: pyelftools (>=0.29,<0.30)
|
|
25
|
+
Requires-Dist: pyserial (>=3.5,<4.0)
|
|
26
|
+
Project-URL: Documentation, https://x2cscope.github.io/
|
|
27
|
+
Project-URL: Repository, https://github.com/X2Cscope/pyx2cscope
|
|
28
|
+
Description-Content-Type: text/markdown
|
|
29
|
+
|
|
30
|
+
<p align="center">
|
|
31
|
+
<img src="docs/img/microchip-technology-logo.png" alt="PyX2CScope Logo" width="250">
|
|
32
|
+
</p>
|
|
33
|
+
|
|
34
|
+
# PyX2CScope
|
|
35
|
+
- PyX2CScope is the Python implementation of the X2Cscope plugin from MPLABX.
|
|
36
|
+
- This will let the user use the functionality of X2Cscope even outside of mplabx enviroment / Standalone.
|
|
37
|
+
|
|
38
|
+
## Getting Started
|
|
39
|
+
|
|
40
|
+
1. You can install the module using pip: <br>`pip install pyx2cscope`
|
|
41
|
+
2. Go to the `Examples` directory in the PyX2CScope project to check out the available examples or create a new .py file according to your requirements.
|
|
42
|
+
3. start with importing PyX2CScope: `import pyx2cscope`
|
|
43
|
+
4. Choose the communication interface from the interfaces' module. Currently, only Serial is supported: CAN and LIN coming in near future: <br>
|
|
44
|
+
```
|
|
45
|
+
from mchplnet.interfaces.factory import InterfaceFactory
|
|
46
|
+
from mchplnet.interfaces.factory import InterfaceType as IType
|
|
47
|
+
from mchplnet.lnet import LNet
|
|
48
|
+
```
|
|
49
|
+
5. Set up the Serial connection with the desired COM port and baud rate:
|
|
50
|
+
```
|
|
51
|
+
serial_port = "COM9"
|
|
52
|
+
baud_rate = 115200
|
|
53
|
+
interface = InterfaceFactory.get_interface(IType.SERIAL, port = serial_port, baudrate = baud_rate)
|
|
54
|
+
```
|
|
55
|
+
6. Initialize the LNet object with the serial connection:
|
|
56
|
+
```
|
|
57
|
+
l_net = pyx2cscope.LNet(interface)
|
|
58
|
+
```
|
|
59
|
+
7. Setup the Variable factory.
|
|
60
|
+
```
|
|
61
|
+
variable_factory = pyx2cscope.VariableFactory(l_net, elf_file)
|
|
62
|
+
```
|
|
63
|
+
8. Replace the **elf_file** with the path to the ELF file of your project.
|
|
64
|
+
9. Create a Variable object for the variable you want to monitor:
|
|
65
|
+
```
|
|
66
|
+
Variable = variable_factory.get_variable_elf('Variable_name')
|
|
67
|
+
```
|
|
68
|
+
10. Replace 'Variable_name' with the name of the variable you want to monitor. You can create multiple variable objects as needed.
|
|
69
|
+
11. Once you have gone through these steps, you can use the get_value() function to retrieve the value of the variable:``Variable.get_value()``. You can also use the ``Variable.set_value(value)`` function to set the value of the variable.
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
## Contribute
|
|
73
|
+
If you discover a bug or have an idea for an improvement, we encourage you to contribute! You can do so by following these steps:
|
|
74
|
+
|
|
75
|
+
1. Fork the PyX2CScope repository.
|
|
76
|
+
2. Create a new branch for your changes.
|
|
77
|
+
3. Make the necessary changes and commit them.
|
|
78
|
+
4. Push your changes to your forked repository.
|
|
79
|
+
5. Open a pull request on the main PyX2CScope repository, describing your changes.
|
|
80
|
+
|
|
81
|
+
We appreciate your contribution!
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
-------------------------------------------------------------------
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="docs/img/microchip-technology-logo.png" alt="PyX2CScope Logo" width="250">
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
# PyX2CScope
|
|
6
|
+
- PyX2CScope is the Python implementation of the X2Cscope plugin from MPLABX.
|
|
7
|
+
- This will let the user use the functionality of X2Cscope even outside of mplabx enviroment / Standalone.
|
|
8
|
+
|
|
9
|
+
## Getting Started
|
|
10
|
+
|
|
11
|
+
1. You can install the module using pip: <br>`pip install pyx2cscope`
|
|
12
|
+
2. Go to the `Examples` directory in the PyX2CScope project to check out the available examples or create a new .py file according to your requirements.
|
|
13
|
+
3. start with importing PyX2CScope: `import pyx2cscope`
|
|
14
|
+
4. Choose the communication interface from the interfaces' module. Currently, only Serial is supported: CAN and LIN coming in near future: <br>
|
|
15
|
+
```
|
|
16
|
+
from mchplnet.interfaces.factory import InterfaceFactory
|
|
17
|
+
from mchplnet.interfaces.factory import InterfaceType as IType
|
|
18
|
+
from mchplnet.lnet import LNet
|
|
19
|
+
```
|
|
20
|
+
5. Set up the Serial connection with the desired COM port and baud rate:
|
|
21
|
+
```
|
|
22
|
+
serial_port = "COM9"
|
|
23
|
+
baud_rate = 115200
|
|
24
|
+
interface = InterfaceFactory.get_interface(IType.SERIAL, port = serial_port, baudrate = baud_rate)
|
|
25
|
+
```
|
|
26
|
+
6. Initialize the LNet object with the serial connection:
|
|
27
|
+
```
|
|
28
|
+
l_net = pyx2cscope.LNet(interface)
|
|
29
|
+
```
|
|
30
|
+
7. Setup the Variable factory.
|
|
31
|
+
```
|
|
32
|
+
variable_factory = pyx2cscope.VariableFactory(l_net, elf_file)
|
|
33
|
+
```
|
|
34
|
+
8. Replace the **elf_file** with the path to the ELF file of your project.
|
|
35
|
+
9. Create a Variable object for the variable you want to monitor:
|
|
36
|
+
```
|
|
37
|
+
Variable = variable_factory.get_variable_elf('Variable_name')
|
|
38
|
+
```
|
|
39
|
+
10. Replace 'Variable_name' with the name of the variable you want to monitor. You can create multiple variable objects as needed.
|
|
40
|
+
11. Once you have gone through these steps, you can use the get_value() function to retrieve the value of the variable:``Variable.get_value()``. You can also use the ``Variable.set_value(value)`` function to set the value of the variable.
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
## Contribute
|
|
44
|
+
If you discover a bug or have an idea for an improvement, we encourage you to contribute! You can do so by following these steps:
|
|
45
|
+
|
|
46
|
+
1. Fork the PyX2CScope repository.
|
|
47
|
+
2. Create a new branch for your changes.
|
|
48
|
+
3. Make the necessary changes and commit them.
|
|
49
|
+
4. Push your changes to your forked repository.
|
|
50
|
+
5. Open a pull request on the main PyX2CScope repository, describing your changes.
|
|
51
|
+
|
|
52
|
+
We appreciate your contribution!
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
-------------------------------------------------------------------
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["poetry-core"]
|
|
3
|
+
build-backend = "poetry.core.masonry.api"
|
|
4
|
+
|
|
5
|
+
[tool.poetry]
|
|
6
|
+
name = "pyx2cscope"
|
|
7
|
+
version = "0.0.2"
|
|
8
|
+
description = "python implementation of X2Cscope"
|
|
9
|
+
authors = [
|
|
10
|
+
"Yash Agarwal <yash.agarwal@microchip.com>",
|
|
11
|
+
"Edras Pacola",
|
|
12
|
+
"Christoph Baumgartner",
|
|
13
|
+
"Mark Wendler",
|
|
14
|
+
]
|
|
15
|
+
readme = "README.md"
|
|
16
|
+
packages = [{include = "pyx2cscope"}]
|
|
17
|
+
|
|
18
|
+
license = "Proprietary"
|
|
19
|
+
|
|
20
|
+
homepage = "https://x2cscope.github.io/"
|
|
21
|
+
documentation = "https://x2cscope.github.io/"
|
|
22
|
+
repository = "https://github.com/X2Cscope/pyx2cscope"
|
|
23
|
+
|
|
24
|
+
[tool.poetry.dependencies]
|
|
25
|
+
pyserial = "^3.5"
|
|
26
|
+
pyelftools = "^0.29"
|
|
27
|
+
numpy = "^1.25.1"
|
|
28
|
+
PyQt5 = "^5.15.9"
|
|
29
|
+
mchplnet = "0.0.2"
|
|
30
|
+
|
|
31
|
+
[tool.setuptools.packages.find]
|
|
32
|
+
exclude = ["test", "doc", "examples"] # empty by default
|
|
File without changes
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|