So if I was really going to do this, I'd want to do it "properly" [I could hokey something together in 15 minutes but it would suck].
How would this work? Current ECUs/Generators don't have an address or anything, other than the order they were generated in [then added to a base ecu address, different for each mode].
So to write ATMA support, there are several potential things here:
1) ATMA as "banter between ECUs in obdsim".
I could randomly poll each ECU and throw stuff out onto the "bus".
This is very doable, but after some talk in IRC it seems this wouldn't meet your needs [but for reasons I'm not entirely clear on]
2) ATMA as "banter between ECUs not in obdsim"
Which would be generated/stored output from ... somewhere else?
How would you generate that banter? Where would it come from?
I know you talked about just having a flat text file with raw data, but how would that fit in with multi protocol support? What if I have a KWP 5baud car? How would timings work?
Admittedly, there is a certain level of "users are expected to know what they're doing" here, but still; there's some contract breaking involved in ATSP2;ATMA churning out a series of CAN messages, no matter what the user did.
Alternatively, it could be richer text format that included delay-since-last-message, to/from ecu, value. But now the ecu addresses won't be reliable as-is, again for multi-mode reasons.
I'm not even clear if this is something I would be implementing as a "generator" [once instance of a generator is currently synonymous with "one ecu"] or if it'd be a separate codepath in the obdsim core. Which, while I'm not opposed to it, doesn't necessarily seem like the best of ideas.
3) ATMA as "something else I don't fully get"
Overall, as I've said on IRC... I'm not against implementing this, I'm just not clear on how to implement it so that it's
1) properly designed and improves OBDSim, not just some hokey'd on thing
2) useful in the long term to other users aswell.
"Just have a parameter that reads from a text file when the user specifies ATMA" is what I would consider to be hokey-as-all-hell. So... how do I implement this?