ok, lets see what we got.
First of all, lets have a look on my Simulation Setup:
you see its very simple,
- a (our) component (=ECU), which is disabled at the moment (this was one of the first and the best shortcuts I ever learned in CANoe, selecting a node pressing ‚SPACE‘ bar to activate/deactivate) due to the reason that I use a real component with same behavior on my desk,
- a node for all of the rest of car functions and
- a diag-node (the one we want to design and implement in CAPL code) which will provide us some diagnosis functions and I/O control with a graphic panel
So just straight to my biggest problem at the moment, before I will briefly describe some other code:
A .cdd file (CANdela file) describes diagnosis services you can do with a component. In my case one service is that you read the internal memory by address. (ReadByAddress). This service would be quite useful in reading the whole memory, which is a function I want to realize.
Now the difficulty: this service is just defined with a memory size of max 256 bytes. memory contains about 20 times this seize. How to read memory with this function? I thought about doing some loops or a request after a request, but after all, it seems not be that easy..
For this I asked Vector support, and the answer was either doing some state machine, or defining a test module (which I heard and read something about, but can not do it right now). The propose was to use some code like its in the example „Diagnostics\UDSSim\Tester\Download.cin“… well.. fine.