summaryrefslogtreecommitdiff
path: root/TODO
blob: caf6658637b4c5938d59a1d3a42d81bc4b9a78f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
TODO/Features:
==============
(19.1.2011)

Tasks:
- dlt-daemon should support only output of --version
- dlt-receive serial does not set all serial port parameters, fails on nbtserver2 

Old:

- File transfer of Screenshots and other files over DLT
- Optimization of sizes: Pipes, TCP connection buffers
- UTF support
- Support for enabling and disabling optional header fields
- Support for pre-defined factory default settings in DLT daemon
- Store overflow messages in ring-buffer
  (and signaling for discarded messages stored in ring-buffer)
- Doc of function groups in dlt_common.h
- Return values for Macros
- Traffic shaping within DLT daemon
- Verbose information of parameters including variable names and units
- DLT_LOG_PRINTF interface
- Remove buffer from DltContext, pass it as parameter to function calls....

- Review and rework from review

DECLINED:
=========
- Individual Macros for specific log level: DLT_LOG_WARN
- DLT_LOG without mycontext
- Interface like printf(type, value, type, value, ...)

DONE:
=====

2.2.0:
- Changed contents of DltContext, added DltContextData, several changes in low level API functions
- Locking scheme changed, minimized usage of locks

2.0.0:
- dlt-convert, -o option
- verbose mode, if applicable
- Ctrl-C Handler, delete pipes and close handles
- Log-output (as function)
- Handling of high data rates
- Send message buffer overflow marker
- Definition of paket format between user lib and daemon
- Set correct ecu id in storage header
- console tools, same options as in daemon
- Documentation
  - Doxygen (lib, daemon)
- Compiling under Windows with mingw
- Console tools:
  - dlt-receive: -m option missing
- Support for generic network traces
- Adaptor for forwarding input from UDP port to DLT daemon
- Adaptor for forwarding input from stdin to DLT daemon
- Documentation
  - Doxygen
  - Word/OpenOffice file
  - Include last changes (removal of DltUser in all calls)
  - Communication between User - Daemon
  - Internal structure of DLT daemon
  - Internal structure of DLT library
  - Not MT safe
- History buffer in Daemon
- Review functional interface, remove DltUser* from each call.
- Viewer: New connection: Insert last used connection address/name
- Sparse ring buffer
- make dist works again
- Examination of transfer of dlt messages over serial link
- Support for serial link in dlt-receive (choosable, either TCP or serial connection)
- Support for serial link in dlt-daemon  (optional, serial connection can be added)
- Information incl. package version, package version state and overall svn version added to all programs
- TCP Frameing header
- Synchronisation header between daemon and client
- Support for TCP/serial connection frameing header (auto-sense)
- Support for building packackge without development files: sudo make nodev_rpm bzw. sudo make nodev_deb
- Changed interface to latest common understanding
- Changed documentation to latest common understanding
- One spec file with multiple sub-packets
- MOST code to be removed due to license issues  -> Plugins, can be enabled by configure --enable-most-plugin
- Revision number for make dist
- Control message: reset to factory default, set default log level and default trace status
- DLT library: Description handling (Save and transmit AppId, ContextId)
- Viewer: Filter in context-sensitive menu, when to show when to hide
- DLT library: dlt_filter_add(): Allow each apid/ctid combination only once.
- Viewer: If no plugin is loaded, hide menu and register tab
- Description handling (Store description)
- Control Message Get Log Info, Mode 7 response
- Viewer: Disable loading of default description / dialog if no plugins available
- Daemon: Support for Big-/Little endian, -> Flag DLT_HTYP_MSBF and access functions
- Test-Framework
- Viewer: Support for Big Endian (also in dlt-convert)
- Viewer: DATE, TIME in version info string (evtl. Architecture BE, LE)
- get_serial_speed->convert_serial_speed
- #include ..., without dlt/, set in configure environment
- Support for Non-Verbose Mode

2.0.1:
- Support for serial interface

2.0.2:
- Store and Load applications including descriptions
- DLT library: Queue (Ring-buffer) for injection messages
- Fixed 32 bit swap
- BE/LE support tested
- Implemented, but not tested: Support for 64 Bit plattforms
- Compiles now for Artis Box (all, without GUI)
- Compiles now with Visual C++ under Windows (GUI only)
- Sending optional timestamp (tmsp) in standardheader extras,
  implemented in user library/daemon/viewer
- Showing optional timestamp (tmsp) from standardheader extras
- User library: History Buffer for Startup + Overflow
- Support for ECU ID settings
- Set maximum logged log level/trace status for application triggered by application
- DLT Library: If DLT daemon is not running, print dlt message as ASCII to stdout
- Support for more than one plugin description file
- GUI: Show, if plugin description is currently loaded
- GUI: RMB on plugin allows loading of plugin description
- Daemon: Store overflow message in history buffer
- Daemon: Open TODOs in source code
- dlt-convert: Fixed printing of filter ids (apid, ctid)
- Fixed: Writing local dlt files and reading them in is broken
- Write ECU ID only in DLT daemon; not in DLT lib/user

2.0.3:
- Fixed bug in DLT_IMPORT_CONTEXT
- Fixed bug in handling of description strings
- Added several checks within dlt_user.c
- Moved declaration of DltMostMessageHeader type to seperate file
- Added several checks within dlt-daemon.c and dlt_daemon_common.c
- Reduced load in dlt-viewer if idle
- Fixed bug in RMB Click for loading plugin description
- Relaxed checks for passing messages to the plugin handler
- Tested MOST Plugin
- modified behaviour of settings in dlt-viewer
- always open tmpfile in dlt-viewer if nothing other is specified
- moved dlt protocol specificas to own header file
- enhanced local print modes:
  a environment variable now can be used to control local print mode:
  Variable: DLT_LOCAL_PRINT_MODE
  Values  : "AUTOMATIC"             (local print only, if dlt-daemon connection is not
                                     available at startup of dlt-user program)
            "FORCE_ON"              (always do local print)
            "FORCE_OFF"             (never do local print)
  E.g. set in bash with 'export DLT_LOCAL_PRINT_MODE="FORCE_ON"'
- Support for float and double values
- Added client library code for linux
- Rewrote dlt-receiver and dlt-test-client to use the client library code
- Fixed bug in dlt_plugin_print() and dlt_most_payload()
- Added OnFileClear() in dlt-viewer
- Client Library: Test function to send an injection message
- fixed "make dist"
- First code fragments for winclientlib added
- Fixed parsing and printing of MOST messages

2.0.4-Pre1
- Fixed winclientlib and wintestclient
- Added dlt_message_print-* functions and used them in several files
- Initial support for FIBEX Parser for non-verbose mode (payload and header)
- Known Issue: Filtering of decoded non-verbose messages is not possible
- added event handler for windows version
- set default log level for adaptors to DLT_LOG_INFO
- print out number of arguments in non-verbose mode

2.0.4:
- Plausibility check (byteLength) of parsed FIBEX file
- Check length of message against ĺength of FIBEX frame, if IDs matches
- Fixed bug in dlt_print_mixed_string()
- Changed license from ADRLPD to ADRLRM
- Added semaphore macros for locking to enable multi-threading
- Added multi-threading example in src/tests/dlt-test-user-multi
- Changed injection interface from direct usage to callback
- Set request log level and trace status immediately in dlt_set_application_ll_ts_limit()
- Implemented receiver thread in DLT user library
- Fixed bug in dlt_daemon_contexts_get_next_con_id()
- dlt_daemon_process_user_message_unregister_application()
  also removes now all corresponding contexts
- Added security check to dlt_daemon_control_get_log_info()
- Fixed output of variable length strings in non-verbose mode
- Fix in daemon: Register app now open the connection to the user-library, unregister app closes the connection
  (was before in Register context)
- Added -lrt to package config file
- Resolved dependency from dlt_client.h to dlt_common.h -> dlt_common.h is now public
- Added signal-handler and atexit-handler for cleanup in DLT user library (calls dlt_free();)

2.0.5:
- Fixed bug in dlt_filter_delete()
- Fixed bug in viewerFrame::FilterDelete()
- Fixed bug in dlt daemon which leads to a crash, when starting/stoping application, then sending
  new log level to context of this (now not running) application. Fix: Ignore PIPE signals in daemon
- Fixed bug in dlt_user_log_out2() and dlt_user_log_out3()
- Fixed bug in void viewerFrame::OnSetDefaultLogLevel()
- Enhanced dlt-viewer: Show default log level
- Optimized dlt_daemon_contexts_get_next_con_id()
- Fixed bug in dlt_daemon_process_user_message_unregister_application()
- Application/Context removal in dlt-daemon on crash/termination of application
- Renamed Filter->New.. to Filter->Delete all filter
- dlt_register_context_ll_ts() and Macro therefore added
- Changed daemon to support dlt_register_context_ll_ts()
- Moved DltUser from dlt_user_private.h to dlt_user.h
- Added dlt_common.h to dlt.h
- Enhanced performance of dlt-viewer
- dlt_message_payload() has now additional type DLT_OUTPUT_ASCII_LIMITED
- print warning, if context was already registered
- dlt daemon: Enhanced support for get_log_info
  (all modes, 1 app all contexts, 1 app 1 context, all apps all contexts)
- reattach to daemon fixed in DLT user library
- dlt daemon: added -r option, for automatic sending context information to dlt client;
              if no client connection is available, this information is stored in history buffer in dlt daemon
- optimized dlt_daemon_context_find(), dlt_daemon_application_find(): Now O(log n) instead O(n)
- dlt_message_header_flags() and flags implemented
- removed dlt_daemon_contexts_count_app_ids(), dlt_daemon_contexts_get_next_app_id()
- optimized dlt_daemon_control_get_log_info()
- optimized dlt_daemon_process_user_message_unregister_application()
- optimized dlt_daemon_process_user_message_set_app_ll_ts()
- removed dlt_daemon_contexts_count_con_ids(), dlt_daemon_contexts_get_next_con_id()
- optimized dlt_daemon_application_del()
- removed dlt_daemon_application_find_index(), dlt_daemon_context_find_index()
- optimized dlt_daemon_application_add(), dlt_daemon_context_add()
- removed dlt_daemon_application_find_insertpos(), dlt_daemon_context_find_insertpos()
- Extended dlt-test-user and dlt-test-client

2.1.0-Pre1:
- Combined dlt-test-user-multi and dlt-test-many to dlt-test-stress
- Extended dlt-test-client
- Fixed minor bug, it's possible now to compile the dlt_viewer again under mingw under Windows
- Fixed minor bug in dlt-test-user, test3f: Wrong counter was used
- dlt_common.c: Functions dlt_file_read_raw() and dlt_file_read_header_raw() added
- Fixed minor bug in non-verbose parser
- Added support for raw messages in nonverbose mode
- Removed filtering of messages during writing to a file in dlt_viewer (wx version)
- Moved dlt_viewer (wx version) to seperate project
- Removed plugin support from dlt_receive and dlt_convert
- DLT library: Injection tables are now dynamically allocated
- DLT library: Contexts are now dynamically allocated
- Removed DLT_LOG calls in injection functions due to problems (application hangs)
- Added stress test3 to dlt-test-stress
- Added help to dlt-test-stress, printed if no test was selected
- Added dlt-test-internal
- Small optimization in get_log_info() for one searched application with one searched context,
  which is existing in the context table of the dlt daemon

2.1.0-Pre2:
- Added dlt_float_types.h, and used them in dlt_user.c and dlt_common.c
- Added security checks to functions using float32_t and float64_t
- Extended documentation

2.1.0-Pre3:
- Added optional syncing to serial header in DLT daemon
- Removed signal handlers from dlt_user.c; ignore SIGPIPE signal; atexit() handler still exists

2.1.0:
- Support for keep-alive messages, realized as thread, locking added to send functions
- Raw interface for DLT Embedded in DLT User Lib (function: int dlt_forward_msg())