<div dir="ltr"><div style="font-family:arial,sans-serif;font-size:13px">If this ends up being a duplicate post, I apologize: I never got a copy back from the list server.</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">I would like to programatically combine multiple stock configs, potentially manipulating them as I go. Failing that, I need to be able to at least modify duplex settings across an entire config at one go rather than having to toggle the settings for each channel entry.</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">Here is what I am trying to do:</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">I have a number of .csv files defining different zones for channel settings. For example, I have, a zone for regional interoperability, a zone for local law enforcement, local fire, etc., a zone for NIFOG Interoperability channels, a zone for GMRS, a zone for regional ARES/Skywarn channels, one for channels used by CERT and other local groups, etc. I store those zone files as stock configs for building a laydown for a specific radio and specific user.</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">Specific users will need some zones in their laydown and not others. More problematically, different users may be *licensed* for some services and not others. Generally it is not a problem to monitor the channels they are not licensed for, but I have to lock out transmit. For example, a user is licensed for local Part 90 public service but not amateur radio or vice-versa. So, when I build their laydown, I bring in the zones they need from stock configs but I either need to build two files for each zone (and worry that they will lose sync over time) or I have to manually toggle Duplex=off in each channel in every service they do not have access to. This gets to be a bit of a pain. I also need to make some individualized settings for each user (e.g. call-sign to come up at startup).</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">As Chirp is written in Python, is there an internal API available to do this kind of manipulation? Is that API at all documented or stable? Ideally, I would like to write a script which will do something like (pseudocode):</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">newWouxunLaydown.import(&quot;ZoneA.csv&quot;, 0);</div><div style="font-family:arial,sans-serif;font-size:13px">newWouxunLaydown.import(&quot;ZoneB.csv&quot;, 30, monitor);</div><div style="font-family:arial,sans-serif;font-size:13px">newWouxunLaydown.import(&quot;ZoneF.csv&quot;, 100, monitor);</div><div style="font-family:arial,sans-serif;font-size:13px">newWouxunLaydown.import(&quot;ZoneN.csv&quot;, 190, monitor);</div><div style="font-family:arial,sans-serif;font-size:13px">newWouxunLaydown.set(&quot;startup_message&quot;, callsign);</div><div style="font-family:arial,sans-serif;font-size:13px">newWouxunLaydown.set(&quot;lock_pin&quot;, pin);<br></div><div style="font-family:arial,sans-serif;font-size:13px">newWouxunLaydown.set(&quot;primary_channel&quot;, primaryChannel);<br></div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px"># ...etc...</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">newWouxunLaydown.write(outputFile);</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">I can then create a script for each common configuration and when, for instance, ZoneB gets updated, just run the scripts to rebuild the laydowns. In theory I could even version control the .csv s for the zones and the scripts, stick them on a server, and then reuse them between local agencies (the end goal).</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">Is this a fantasy?</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">Somehow going from there to pretty-printing quick-reference cards for each user would be nice, too... :-)</div></div>