@@ -70,3 +70,80 @@ def main():
70
70
if __name__ == ' __main__' :
71
71
main()
72
72
```
73
+
74
+
75
+ ## Roadmap
76
+ ### Phase 1: Initial Setup
77
+
78
+ #### Step 1: Project Structure
79
+ - [x] Create the initial project structure.
80
+ ```
81
+ pycan/
82
+ ├── pycan/
83
+ │ ├── __init__.py
84
+ │ ├── pyisotp.py
85
+ │ ├── pyuds.py
86
+ │ └── utility.py
87
+ ├── setup.py
88
+ └── README.md
89
+ ```
90
+
91
+ #### Step 2: Implement CAN Interface
92
+ - [x] Write `can_interface.py` to handle basic CAN communication.
93
+
94
+ #### Step 3: Implement ISO-TP Layer
95
+ - [x] Write `pyisotp.py` to manage ISO-TP message fragmentation and reassembly.
96
+
97
+ #### Step 4: Implement UDS Protocol
98
+ - [x] Write `pyuds.py` to implement UDS over ISO-TP.
99
+
100
+ #### Step 5: Create Setup Script
101
+ - [x] Write `setup.py` for module packaging and installation.
102
+
103
+ #### Step 6: Write README
104
+ - [ ] Create a comprehensive `README.md` with installation and usage instructions.
105
+
106
+ ### Phase 2: Development and Testing
107
+
108
+ #### Step 7: Develop Core Features
109
+ - [x] (0x10) Diagnostic Session Control.
110
+ - [x] (0x11) ECU Reset.
111
+ - [x] (0x0) Hard Reset
112
+ - [x] (0x1) Key OffOn
113
+ - [x] (0x2) Soft Reset
114
+ - [x] (0x3) Enable Rapid Power Shutdown
115
+ - [ ] (0x14) Clear Diagnostic Information.
116
+ - [ ] (0x19) Read DTCI nformation.
117
+ - [x] (0x22) Read Data By Identifier.
118
+ - [ ] (0x23) Read Memory By Address.
119
+ - [ ] (0x24) Read Scaling Data By Identifier.
120
+ - [x] (0x27) Security Access.
121
+ - [ ] (0x28) Communication Control.
122
+ - [ ] (0x29) Authentication.
123
+ - [ ] (0x2A) Read Data By Periodic Identifier.
124
+ - [ ] (0x2C) Dynamically Define Data Identifier.
125
+ - [x] (0x2E) Write Data By Identifier.
126
+ - [ ] (0x2F) Input Output Control By Identifier.
127
+ - [x] (0x31) RoutineControl.
128
+ - [x] (0x01) Start Routine
129
+ - [x] (0x02) Stop Routine
130
+ - [x] (0x03) Result Routine
131
+ - [x] (0x34) Request Download
132
+ - [ ] (0x35) Request Upload
133
+ - [x] (0x36) Transfer Data
134
+ - [x] (0x37) Request Transfer Exit
135
+ - [ ] (0x38) Request File Transfer
136
+ - [ ] (0x3D) Write Memory By Address
137
+ - [x] (0x3E) Tester Present
138
+ - [ ] (0x84) SecuredDataTransmission
139
+ - [x] (0x85) Control DTC Setting
140
+ - [ ] (0x86) ResponseOnEvent
141
+ - [ ] (0x87) LinkControl
142
+
143
+ #### Step 8: Unit Testing
144
+ - [ ] Write unit tests for `pyisotp.py`.
145
+ - [ ] Write unit tests for `pyuds.py`.
146
+
147
+ #### Step 9: Integration Testing
148
+ - [ ] Perform integration tests to ensure all components work together.
149
+
0 commit comments