<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.element14.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Forum - Recent Threads</title><link>https://community.element14.com/technologies/code_exchange/f/forum</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><lastBuildDate>Fri, 20 Mar 2026 18:37:20 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://community.element14.com/technologies/code_exchange/f/forum" /><item><title>"Its all the same"</title><link>https://community.element14.com/thread/56776?ContentTypeID=0</link><pubDate>Sat, 28 Feb 2026 09:27:27 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:f7030a8b-cfc7-485f-a3db-cdc70b986b14</guid><dc:creator>SensoredHacker0</dc:creator><slash:comments>8</slash:comments><comments>https://community.element14.com/thread/56776?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/56776/its-all-the-same/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Some internet jerk made a snide comment today about someone else&amp;rsquo;s light-hearted Linux install project. It shouldn&amp;rsquo;t have stuck with me, but it did. It woke me up hours later with a thought I couldn&amp;rsquo;t shake:&lt;br /&gt;&lt;br /&gt;They&amp;rsquo;re all the same.&lt;br /&gt;&lt;br /&gt;For the past few years I&amp;rsquo;ve been building my own PLC communication libraries &amp;mdash; serial, USB, TCP &amp;mdash; in Python, C/C++, JavaScript, PHP. In the last 24 hours I&amp;rsquo;ve been writing Kotlin because I want a field tech to be able to debug a PLC from their phone, even if the PLC doesn&amp;rsquo;t have Bluetooth. No PhD. No formal CS background. Just me, a hex editor, and the habit of staring at binaries until the patterns start to move.&lt;br /&gt;&lt;br /&gt;I&amp;rsquo;ve got a small collection of PLCs to experiment with &amp;mdash; mostly IDEC, plus a few Siemens, Keyence, Mitsubishi. When I want to understand something, I don&amp;rsquo;t wait for permission. I open the firmware, trace frames, XOR checksums by hand, and squint until the Matrix resolves. That&amp;rsquo;s how I dug into IDEC&amp;rsquo;s Maintenance Protocol. I&amp;rsquo;ve mapped most of it. I still haven&amp;rsquo;t fully cracked firmware writing or compiled bytecode translation, but I&amp;rsquo;m close.&lt;br /&gt;&lt;br /&gt;Then something weird happened.&lt;br /&gt;&lt;br /&gt;I was experimenting with a Keyence KV series PLC my employer provided. By accident, I ran some IDEC code against it.&lt;br /&gt;&lt;br /&gt;The LEDs toggled.&lt;br /&gt;&lt;br /&gt;That shouldn&amp;rsquo;t be possible.&lt;br /&gt;&lt;br /&gt;So I ran it again.&lt;br /&gt;&lt;br /&gt;There it was: IDEC&amp;rsquo;s Maintenance Protocol responding on a Keyence KV-1000.&lt;br /&gt;&lt;br /&gt;That sent me digging. I looked for documentation. Nothing useful.&amp;nbsp;&lt;br /&gt;Every OEM wants you locked into their bloated, feature-starved software.&amp;nbsp;&lt;br /&gt;So I asked ChatGPT what PLC communication protocols are linguistically similar to &amp;ldquo;Maintenance Protocol.&amp;rdquo;&lt;br /&gt;&lt;br /&gt;The answer?&lt;br /&gt;&lt;br /&gt;All of them.&lt;br /&gt;&lt;br /&gt;Mitsubishi MELSEC. IDEC Maintenance. Keyence KV. Siemens S7. Schneider Electric. And probably the rest. I haven&amp;rsquo;t tested the GE units yet &amp;mdash; the ones I have are temperamental &amp;mdash; but I&amp;rsquo;m not expecting surprises anymore.&lt;br /&gt;&lt;br /&gt;The structures match. The framing matches. The checksums match. Even the command semantics echo each other.&lt;br /&gt;&lt;br /&gt;And here&amp;rsquo;s the funniest part: there&amp;rsquo;s a typo. A small framing typo that has survived for roughly forty years. It appears in every document from every vendor. Same sentence. Same mistake. Never corrected. It&amp;rsquo;s like a fossil record of copying.&lt;br /&gt;&lt;br /&gt;Near as I can tell, someone named Petr John, defined a protocol that was likely meant to be open.&amp;nbsp;&lt;br /&gt;Over time, industrial OEMs cloned it, rebranded it, redistributed it, and quietly erased source attribution.&amp;nbsp;&lt;br /&gt;Every one of them claimed it as thier own uniqe protocol. The memory mappings might differ, but the language is the same.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What&amp;rsquo;s fascinating is that nobody fixed the typos.&lt;br /&gt;&lt;br /&gt;Four decades. Dozens of manufacturers. Identical typologcal error.&lt;br /&gt;&lt;br /&gt;They&amp;rsquo;re all the same.&lt;br /&gt;&lt;br /&gt;I started this because I wanted to build tools that help techs in the field.&amp;nbsp;&lt;br /&gt;I don&amp;rsquo;t want to drive out for service calls just to flip a bit.&amp;nbsp;&lt;br /&gt;I want clean, simple, useful software anyone can use.&amp;nbsp;&lt;br /&gt;I didn&amp;rsquo;t set out to reverse engineer the entire industrial controls ecosystem.&lt;br /&gt;&lt;br /&gt;But once you see it, you can&amp;rsquo;t unsee it.&lt;br /&gt;n&amp;nbsp;&lt;br /&gt;The protocols are the same.&lt;br /&gt;The framing is the same.&lt;br /&gt;The semantics are the same.&lt;br /&gt;Even the typos are the same.&lt;br /&gt;&lt;br /&gt;When I finally finish mapping byte-code to instructions and build an open instruction compiler,&amp;nbsp;&lt;br /&gt;It&amp;rsquo;ll just be the same thing running everywhere else.&lt;br /&gt;&lt;br /&gt;Find the TYPO!&lt;br /&gt;&lt;br /&gt;&lt;a href="https://dl.mitsubishielectric.com/dl/fa/document/manual/plc/sh080008/sh080008ab.pdf" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;dl.mitsubishielectric.com/.../sh080008ab.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://docs.galco.com/techdoc/idec/fc4a_protocol_im.pdf" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;docs.galco.com/.../fc4a_protocol_im.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;### Good docs are hard to come by, but when i find the other again Ill post them.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</description></item><item><title>RE: "Its all the same"</title><link>https://community.element14.com/thread/234546?ContentTypeID=1</link><pubDate>Fri, 20 Mar 2026 18:37:20 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:72cbb11a-e022-4fb4-9344-038a52f34b1e</guid><dc:creator>kmikemoo</dc:creator><slash:comments>0</slash:comments><comments>https://community.element14.com/thread/234546?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/56776/its-all-the-same/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;There is so much old equipment control equipment in the world, it&amp;#39;s crazy.&amp;nbsp; I&amp;#39;ve run into manufacturers that run the gamut.&amp;nbsp; Some simply disavow that they ever made the item.&amp;nbsp; Some admit that they have no one that knows anything about the product anymore.&amp;nbsp; A few will give you what little they have and wish you luck.&amp;nbsp; None of them are able to provide any real support - unless you run into the unicorn (the old technician that still remembers a bit OR... the person that sees the pattern).&amp;nbsp; I&amp;#39;ve worked on systems without manuals or prints but that used a similar wire numbering convention dating back to a small regional company in the 1960&amp;#39;s.&amp;nbsp; There are still elements of this numbering system in equipment produced today.&lt;/p&gt;
&lt;p&gt;ANYWAY... I think a sure-fire way to get the equipment upgraded is to figure out how to fix it.&amp;nbsp; It&amp;#39;s one of the Murphy&amp;#39;s Laws kind of things.&amp;nbsp; Once you know how to get past that road block, you&amp;#39;ll never need to do it again - because you can make it past the road block.&amp;nbsp; Instant obsolescence - since you know what to do.&amp;nbsp; This is especially true if you document what you did and leave a copy in the machine.&amp;nbsp; On a particular brand of controllers, I figured out how to determine the user selected unlock code from the reset code.&amp;nbsp; A disgruntled, now former employee had changed the passcode and left the company.&amp;nbsp; Now, no one could operate the equipment.&amp;nbsp; The controller manufacturer was very unhelpful.&amp;nbsp; I cracked the code.&amp;nbsp; Made a spreadsheet to do the conversion.&amp;nbsp; Put it all in a shared folder on a shared drive.&amp;nbsp; How many times after that did we need to use that decode? ... None that I know of.&amp;nbsp; Still... it kept Murphy from using that particular road block for the rest of my time at that company.&lt;/p&gt;
&lt;p&gt;What is impressive in all this is seeing the pattern or seeing the evolution.&amp;nbsp; THAT is cool.&amp;nbsp; As to some of the &amp;quot;intellectual property&amp;quot;, many of the machines do the same thing that they did decades ago - they just do it with more modern variants of the same stuff they had when the machine was first created.&amp;nbsp; Or they have additional &amp;quot;features&amp;quot; that may help in manufacturing but are ancillary to the core function of the machine.&amp;nbsp; If you can make an old system work... that is engineering.&amp;nbsp;&lt;span class="emoticon" data-url="https://community.element14.com/cfs-file/__key/system/emoji/1f44d.svg" title="Thumbsup"&gt;&amp;#x1f44d;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: "Its all the same"</title><link>https://community.element14.com/thread/234525?ContentTypeID=1</link><pubDate>Thu, 19 Mar 2026 21:36:04 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:a15c6e13-2e92-407a-a688-e42ac8488e26</guid><dc:creator>dang74</dc:creator><slash:comments>0</slash:comments><comments>https://community.element14.com/thread/234525?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/56776/its-all-the-same/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Nice post.&amp;nbsp; I haven&amp;#39;t used a PLC before but I&amp;#39;ve looked into them here and there... anyway I guess I have enough familiarity to get excited about what you are trying to accomplish... and I am not exaggerating when I say it&amp;#39;s like reading the tech version of the DaVinci code.&amp;nbsp; Good luck with this endeavor.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>commanding my PLC from my phone.</title><link>https://community.element14.com/thread/56782?ContentTypeID=0</link><pubDate>Thu, 19 Mar 2026 16:10:57 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:440915fe-f2ee-4551-8e40-3a404c86d87b</guid><dc:creator>SensoredHacker0</dc:creator><slash:comments>0</slash:comments><comments>https://community.element14.com/thread/56782?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/56782/commanding-my-plc-from-my-phone/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;ITs a proof of concept, that instructions may be sent from a phone to control a PLC.&amp;nbsp;&lt;br /&gt;The larger goal is to write debugging apps which make process control and analysis&amp;nbsp;&lt;br /&gt;easier and more available, to technicians.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;[mention:aab691a9a995458a9c420206c624e6dc:46448885d0e64133bbfbf0cd7b0fd6f7]&lt;br /&gt;&lt;br /&gt;[View:https://www.youtube.com/watch?v=1-Mwc4BigKw:640:360]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;</description></item><item><title>RE: "Its all the same"</title><link>https://community.element14.com/thread/234521?ContentTypeID=1</link><pubDate>Thu, 19 Mar 2026 14:13:02 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:4d2e60d6-7a80-436f-8c14-180d3135551c</guid><dc:creator>geralds</dc:creator><slash:comments>0</slash:comments><comments>https://community.element14.com/thread/234521?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/56776/its-all-the-same/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;What is your intention?&amp;nbsp;&lt;span class="emoticon" data-url="https://community.element14.com/cfs-file/__key/system/emoji/1f914.svg" title="Thinking"&gt;&amp;#x1f914;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;A lot of intellectual knowledge leads to a lot of headaches.&lt;/p&gt;
&lt;p&gt;Who are you doing all this for?&lt;/p&gt;
&lt;p&gt;A hobbyist has no chance of achieving anything.&lt;/p&gt;
&lt;p&gt;Especially in areas where everything is very sensitive, -&amp;gt; &amp;quot;protocols&amp;quot; for data transmission.&lt;/p&gt;
&lt;p&gt;Well, back in the day, people played around with this in their garages; today, you&amp;#39;d be charged with intellectual property theft.&lt;/p&gt;
&lt;p&gt;Licenses are very expensive, and some decisions are made with a hammer.&lt;/p&gt;
&lt;p&gt;Especially in these areas, contracts need to be watertight.&lt;/p&gt;
&lt;p&gt;Another problem: time.&lt;/p&gt;
&lt;p&gt;Technological progress will surely overtake you.&lt;/p&gt;
&lt;p&gt;By the time you&amp;#39;ve finished solving one problem, the major global players will have already solved many more.&lt;/p&gt;
&lt;p&gt;And you&amp;#39;ll have to chase after them again, researching these new developments so you can incorporate them into your tinkering.&lt;/p&gt;
&lt;p&gt;Ugh... nobody can keep that up.&lt;/p&gt;
&lt;p&gt;Almost 50 years of experience, both employed and privately as a hobby, and with my own companies in technology, electronics, electrical engineering, and physics have taught me a lot.&lt;/p&gt;
&lt;p&gt;I wish you all the best!&lt;/p&gt;
&lt;p&gt;Gerald&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: "Its all the same"</title><link>https://community.element14.com/thread/234520?ContentTypeID=1</link><pubDate>Thu, 19 Mar 2026 13:22:40 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:dcd679b6-6330-47ec-a078-459385b5a929</guid><dc:creator>robogary</dc:creator><slash:comments>0</slash:comments><comments>https://community.element14.com/thread/234520?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/56776/its-all-the-same/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Ah-ha. You&amp;#39;ve discovered big business ! .......OEM owning multiple brands, brand label agreements, business and technology acquisition, joint ventures, buying and selling of intellectual properties.......and creative marketing.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: "Its all the same"</title><link>https://community.element14.com/thread/234517?ContentTypeID=1</link><pubDate>Thu, 19 Mar 2026 11:01:36 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:cd1eba07-94b2-4633-8a53-8e22ed25c7b8</guid><dc:creator>shabaz</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/234517?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/56776/its-all-the-same/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;span style="font-size:17px;"&gt;At least in Europe, it&amp;#39;s generally considered to be valid to reverse-engineer a protocol at a device interface, for the purposes of interworking their own products. That was also part of EU legislation in the early 2000&amp;#39;s, although now I believe it&amp;#39;s changed to an extent, presumably at the pressure of manufacturers unfortunately, but I&amp;#39;m not sure.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:17px;"&gt;Some manufacturers didn&amp;#39;t like the legislation because it exposed their proprietary stuff (not just the protocol, but anything else that got revealed through the process of reverse-engineering). The ones who thought about it more, simply offered the protocol for free or for a fee, since that eliminated the justification to reverse-engineer and the proprietary stuff exposure risk. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:17px;"&gt;Telecoms firms were interesting, every country wanted to protect their manufacturing base, so they all slightly tweaked the international standards. I had a job once re-tweaking things back, in a system that would attach to their equipment. Say if a telecom customer came along from any random small country or large, I&amp;#39;d have to look through their documentation to try to find the closest matching variant that I already had, and then tweak that one to create the new one. I wish I&amp;#39;d thought of drawing a tree diagram of them at the time.. would have been interesting from a history perspective, to see how they evolved.&amp;nbsp;&lt;/span&gt;&lt;br /&gt; &lt;!--/data/user/0/com.samsung.android.app.notes/files/clipdata/clipdata_bodytext_260319_105808_084.sdocx--&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Android app dev wanted?</title><link>https://community.element14.com/thread/56778?ContentTypeID=0</link><pubDate>Wed, 18 Mar 2026 21:43:56 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:aab691a9-a995-458a-9c42-0206c624e6dc</guid><dc:creator>SensoredHacker0</dc:creator><slash:comments>0</slash:comments><comments>https://community.element14.com/thread/56778?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/56778/android-app-dev-wanted/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Trapped at work!&lt;br /&gt;wouldn&amp;#39;t even care, but I need an adapter to go from USB-C to usb-a and I only know of one at my local makerspace.&lt;br /&gt;Ive been struggling with creating my own Andriod app. I dont know how folks put up with it, I wrote 3 files,&amp;nbsp; &lt;br /&gt;built the thing and ended up with 1877+ files, and meaningless directory structures. /... and my app doesn&amp;#39;t work. :(&amp;nbsp;&lt;br /&gt;&lt;br /&gt;well anyway, the app I want to write would send my PLC IO control commands to a PLC via USB.&amp;nbsp;&lt;br /&gt;which commands formatted in hex? The commands below for IDEC series PLCs.&lt;br /&gt;&lt;br /&gt;This app:&lt;br /&gt;&lt;a href="https://play.google.com/store/search?q=usb%20serial&amp;amp;c=apps&amp;amp;hl=en_US" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;https://play.google.com/store/search?q=usb%20serial&amp;amp;c=apps&amp;amp;hl=en_US&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;has macros, and I am really ansy to test it.&amp;nbsp;&lt;br /&gt;I wrote an arduino echo back program:&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;div class="de1"&gt;void setup() {&lt;/div&gt;
&lt;div class="de1"&gt;Serial.begin(115200);&lt;/div&gt;
&lt;div class="de1"&gt;while (!Serial) { } // wait for a connection&lt;/div&gt;
&lt;div class="de1"&gt;Serial.println(&amp;quot;READY&amp;quot;);&lt;/div&gt;
&lt;div class="de1"&gt;}&lt;/div&gt;
&lt;div class="de1"&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class="de1"&gt;void loop() {&lt;/div&gt;
&lt;div class="de1"&gt;// connect phone and see if you get transmission interactions&lt;/div&gt;
&lt;div class="de1"&gt;if (Serial.available()) {&lt;/div&gt;
&lt;div class="de1"&gt;String input = Serial.readStringUntil(&amp;#39;\n&amp;#39;);&lt;/div&gt;
&lt;div class="de1"&gt;Serial.print(&amp;quot;ECHO: &amp;quot;);&lt;/div&gt;
&lt;div class="de1"&gt;Serial.println(input);&lt;/div&gt;
&lt;div class="de1"&gt;}&lt;/div&gt;
&lt;div class="de1"&gt;}&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;which works great!&lt;br /&gt;&lt;img style="max-height:360px;max-width:640px;" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/80/asasas.png" alt=" " /&gt;&lt;br /&gt;&lt;br /&gt;but I want to talk to the PLC now!&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;table style="border:none;border-collapse:collapse;font-family:Arial;font-size:10pt;table-layout:fixed;width:0px;" dir="ltr" border="1" cellpadding="0" cellspacing="0" data-sheets-root="1" data-sheets-baot="1"&gt;&lt;colgroup&gt;&lt;col width="36" /&gt;&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr style="height:21px;"&gt;
&lt;td style="border-right:1px solid transparent;overflow:visible;padding:2px 0px 2px 0px;vertical-align:bottom;"&gt;
&lt;div style="left:3px;overflow:hidden;position:relative;white-space:nowrap;width:278px;"&gt;
&lt;div style="float:left;"&gt;05 FF 30 57 79 30 30 30 30 31 2F 0D&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height:21px;"&gt;
&lt;td style="border-right:1px solid transparent;overflow:visible;padding:2px 0px 2px 0px;vertical-align:bottom;"&gt;
&lt;div style="left:3px;overflow:hidden;position:relative;white-space:nowrap;width:278px;"&gt;
&lt;div style="float:left;"&gt;05 FF 30 57 79 30 30 30 31 31 2E 0D&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height:21px;"&gt;
&lt;td style="border-right:1px solid transparent;overflow:visible;padding:2px 0px 2px 0px;vertical-align:bottom;"&gt;
&lt;div style="left:3px;overflow:hidden;position:relative;white-space:nowrap;width:278px;"&gt;
&lt;div style="float:left;"&gt;05 FF 30 57 79 30 30 30 32 31 2D 0D&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height:21px;"&gt;
&lt;td style="border-right:1px solid transparent;overflow:visible;padding:2px 0px 2px 0px;vertical-align:bottom;"&gt;
&lt;div style="left:3px;overflow:hidden;position:relative;white-space:nowrap;width:278px;"&gt;
&lt;div style="float:left;"&gt;05 FF 30 57 79 30 30 30 33 31 2C 0D&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height:21px;"&gt;
&lt;td style="border-right:1px solid transparent;overflow:visible;padding:2px 0px 2px 0px;vertical-align:bottom;"&gt;
&lt;div style="left:3px;overflow:hidden;position:relative;white-space:nowrap;width:278px;"&gt;
&lt;div style="float:left;"&gt;05 FF 30 57 79 30 30 30 34 31 2B 0D&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height:21px;"&gt;
&lt;td style="border-right:1px solid transparent;overflow:visible;padding:2px 0px 2px 0px;vertical-align:bottom;"&gt;
&lt;div style="left:3px;overflow:hidden;position:relative;white-space:nowrap;width:278px;"&gt;
&lt;div style="float:left;"&gt;05 FF 30 57 79 30 30 30 35 31 2A 0D&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height:21px;"&gt;
&lt;td style="border-right:1px solid transparent;overflow:visible;padding:2px 0px 2px 0px;vertical-align:bottom;"&gt;
&lt;div style="left:3px;overflow:hidden;position:relative;white-space:nowrap;width:278px;"&gt;
&lt;div style="float:left;"&gt;05 FF 30 57 79 30 30 30 36 31 29 0D&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height:21px;"&gt;
&lt;td style="border-right:1px solid transparent;overflow:visible;padding:2px 0px 2px 0px;vertical-align:bottom;"&gt;
&lt;div style="left:3px;overflow:hidden;position:relative;white-space:nowrap;width:278px;"&gt;
&lt;div style="float:left;"&gt;05 FF 30 57 79 30 30 30 37 31 28 0D&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height:21px;"&gt;
&lt;td style="border-right:1px solid transparent;overflow:visible;padding:2px 0px 2px 0px;vertical-align:bottom;"&gt;
&lt;div style="left:3px;overflow:hidden;position:relative;white-space:nowrap;width:278px;"&gt;
&lt;div style="float:left;"&gt;05 FF 30 57 79 30 30 30 30 30 2E 0D&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height:21px;"&gt;
&lt;td style="border-right:1px solid transparent;overflow:visible;padding:2px 0px 2px 0px;vertical-align:bottom;"&gt;
&lt;div style="left:3px;overflow:hidden;position:relative;white-space:nowrap;width:278px;"&gt;
&lt;div style="float:left;"&gt;05 FF 30 57 79 30 30 30 31 30 2F 0D&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height:21px;"&gt;
&lt;td style="border-right:1px solid transparent;overflow:visible;padding:2px 0px 2px 0px;vertical-align:bottom;"&gt;
&lt;div style="left:3px;overflow:hidden;position:relative;white-space:nowrap;width:278px;"&gt;
&lt;div style="float:left;"&gt;05 FF 30 57 79 30 30 30 32 30 2C 0D&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height:21px;"&gt;
&lt;td style="border-right:1px solid transparent;overflow:visible;padding:2px 0px 2px 0px;vertical-align:bottom;"&gt;
&lt;div style="left:3px;overflow:hidden;position:relative;white-space:nowrap;width:278px;"&gt;
&lt;div style="float:left;"&gt;05 FF 30 57 79 30 30 30 33 30 2D 0D&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height:21px;"&gt;
&lt;td style="border-right:1px solid transparent;overflow:visible;padding:2px 0px 2px 0px;vertical-align:bottom;"&gt;
&lt;div style="left:3px;overflow:hidden;position:relative;white-space:nowrap;width:278px;"&gt;
&lt;div style="float:left;"&gt;05 FF 30 57 79 30 30 30 34 30 2A 0D&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height:21px;"&gt;
&lt;td style="border-right:1px solid transparent;overflow:visible;padding:2px 0px 2px 0px;vertical-align:bottom;"&gt;
&lt;div style="left:3px;overflow:hidden;position:relative;white-space:nowrap;width:278px;"&gt;
&lt;div style="float:left;"&gt;05 FF 30 57 79 30 30 30 35 30 2B 0D&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height:21px;"&gt;
&lt;td style="border-right:1px solid transparent;overflow:visible;padding:2px 0px 2px 0px;vertical-align:bottom;"&gt;
&lt;div style="left:3px;overflow:hidden;position:relative;white-space:nowrap;width:278px;"&gt;
&lt;div style="float:left;"&gt;05 FF 30 57 79 30 30 30 36 30 28 0D&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="height:21px;"&gt;
&lt;td style="border-right:1px solid transparent;overflow:visible;padding:2px 0px 2px 0px;vertical-align:bottom;"&gt;
&lt;div style="left:3px;overflow:hidden;position:relative;white-space:nowrap;width:278px;"&gt;
&lt;div style="float:left;"&gt;05 FF 30 57 79 30 30 30 37 30 29 0D&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;br /&gt;So i wrote some macros to send commands. but I&amp;#39;m stuck until 5 because I don&amp;#39;t have some adapter.&lt;br /&gt;&lt;br /&gt;implication of functional test:&lt;br /&gt;&lt;br /&gt;I can write code to conduct system debugging from a cell phone... the thing every service tech has.&amp;nbsp;&lt;br /&gt;no more climbing on ladders with a laptop, only to connect and data collect, and still not have a network to dial out on.&amp;nbsp;&lt;br /&gt;this is an every day problem for many technicians. There&amp;#39;s no internet in the building, no place to plug in, no cellular, no way to get the data off the laptop on to a phone,&amp;nbsp;&lt;br /&gt;the tech has a laptop, but can&amp;#39;t install programs (ok i have solved most of that) but, its the same issue, the service reps aren&amp;#39;t computer programmers, or IT specialist, and the sites they go to might not have reliable network connectivity. you&amp;#39;re in a dense industrial building, that acts like shielding from every service signal, then you want to link out, but your laptop needed to run some proprietary BS software still has to connect to your phone ... its stupid, and unnecessary, and I&amp;#39;ll Fkn fix it myself if I can ever figure out how to write a GD Android App.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;in the meantime, i want to test this program for functionality. it should work.&amp;nbsp;&lt;/p&gt;</description></item><item><title>RE: "Its all the same"</title><link>https://community.element14.com/thread/234486?ContentTypeID=1</link><pubDate>Fri, 06 Mar 2026 17:27:10 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e8111210-8045-4735-b2a3-6d50557bc0ab</guid><dc:creator>kmikemoo</dc:creator><slash:comments>0</slash:comments><comments>https://community.element14.com/thread/234486?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/56776/its-all-the-same/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;a href="https://community.element14.com/members/sensoredhacker0" target="_blank" data-e14adj="t"&gt;@SensoredHacker0&lt;/a&gt;&amp;nbsp; When it comes to the video... give yourself some grace.&amp;nbsp; I used to have to do a monthly Safety video for work and I wasted a TON of emotional energy chasing perfection - which I never achieved.&amp;nbsp; Along the way, I learned that&amp;nbsp;it&amp;#39;s okay to be human.&amp;nbsp; It makes you more relatable - and therefore trustworthy.&amp;nbsp;&lt;span class="emoticon" data-url="https://community.element14.com/cfs-file/__key/system/emoji/263a.svg" title="Relaxed"&gt;&amp;#x263a;&lt;/span&gt;&amp;nbsp; We&amp;#39;re all here for the nerdy stuff anyway.&amp;nbsp;&lt;span class="emoticon" data-url="https://community.element14.com/cfs-file/__key/system/emoji/1f602.svg" title="Joy"&gt;&amp;#x1f602;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: "Its all the same"</title><link>https://community.element14.com/thread/234485?ContentTypeID=1</link><pubDate>Fri, 06 Mar 2026 13:13:22 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:0ee6060e-2e9a-4911-b785-fa7fec4ee2b3</guid><dc:creator>SensoredHacker0</dc:creator><slash:comments>2</slash:comments><comments>https://community.element14.com/thread/234485?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/56776/its-all-the-same/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;yeah, Ive read a lot of manuals. My &amp;quot;&amp;quot;code base is a whole bunch of fragments. Im trying to organize into a usable API.&amp;nbsp;&lt;br /&gt;in all the tinkering, Ive made arduinos program PLCs, and projects in 10 languages. Some of those languages have caveates, and this is influencing my choices in making an API.&amp;nbsp; &amp;nbsp;it might go: plc = API(vendor.interface)&lt;br /&gt;well then anyways, Ill make proper videos, which isnt a skill Ive developed.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;This plc isnt programed.&amp;nbsp;&lt;br /&gt;I run the app on my phone.&amp;nbsp;&lt;br /&gt;The plc is now programed.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;seems conceptually simple, but how to make the video is confusing. Well Ive managed to convince a few folks, and have a brand new pile of PLCs to perform confirmations and proofs on.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: "Its all the same"</title><link>https://community.element14.com/thread/234484?ContentTypeID=1</link><pubDate>Sat, 28 Feb 2026 16:20:06 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:5163dcbe-c915-4eb2-bbdc-99b96974050d</guid><dc:creator>kmikemoo</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/234484?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/56776/its-all-the-same/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Very cool.&amp;nbsp;&amp;nbsp;&lt;span class="emoticon" data-url="https://community.element14.com/cfs-file/__key/system/emoji/1f44d.svg" title="Thumbsup"&gt;&amp;#x1f44d;&lt;/span&gt;&amp;nbsp; That&amp;#39;s a lot of manual to review.&amp;nbsp; I&amp;#39;ll just have to trust you.&amp;nbsp;&amp;nbsp;&lt;span class="emoticon" data-url="https://community.element14.com/cfs-file/__key/system/emoji/1f602.svg" title="Joy"&gt;&amp;#x1f602;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Help wanted: Native IDEC PLC Compiler wanted.</title><link>https://community.element14.com/thread/56717?ContentTypeID=0</link><pubDate>Wed, 25 Feb 2026 20:10:54 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:c4263d68-2ec6-47c6-886f-a7a66b1089c3</guid><dc:creator>SensoredHacker0</dc:creator><slash:comments>0</slash:comments><comments>https://community.element14.com/thread/56717?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/56717/help-wanted-native-idec-plc-compiler-wanted/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I work with IDEC PLCs, and from a hardware perspective I think they are pretty good.&amp;nbsp;&lt;br /&gt;from a software perspective I think they could do better.. I think I could do better.&amp;nbsp;&lt;br /&gt;and so I am working on it.&amp;nbsp;&lt;br /&gt;I would love to be able to write node-red, and run native IDEC PLC code.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;(my current method involves writing code that doen&amp;#39;t execute natively)&lt;br /&gt;Ive run this in Bash, C, C++, JS,PHP, Python... any language is feasible.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The final piece&amp;nbsp;&lt;br /&gt;Is a means to convert instructions into their raw compiled instructions.&amp;nbsp;&lt;br /&gt;I haven&amp;#39;t figured that part out yet, and want help figuring it out.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;i asked IDEC for support doing this. &lt;br /&gt;Ill write all the language support if I can just get an API to do the language conversion from instruction to binary instruction.&lt;br /&gt;&lt;br /&gt;Loathsome alternatives:&lt;br /&gt;I guess all the mnemonics, and figure out how to run the ladder compiler dll in wine.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>testing C++ object copy vs move vs pass-on</title><link>https://community.element14.com/thread/56502?ContentTypeID=0</link><pubDate>Tue, 09 Dec 2025 20:35:55 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:4b2db4bb-69ca-4f0e-86d8-52130f1081b0</guid><dc:creator>Jan Cumps</dc:creator><slash:comments>0</slash:comments><comments>https://community.element14.com/thread/56502?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/56502/testing-c-object-copy-vs-move-vs-pass-on/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I&amp;#39;m testing what constructs generate&amp;nbsp;object creation, copy, move, or just pass-on. This post is a log of test code, trials, errors.&lt;/p&gt;
&lt;p&gt;Test classes&lt;/p&gt;
&lt;p&gt;[embed:dc8ab71f-3b98-42d9-b0f6-e21e02a0f8e2:da7d3576-a9f4-4687-8859-678a8b65327b:type=csharp&amp;text=%23include%20%3Ciostream%3E%0A%23include%20%3Carray%3E%0A%23include%20%3Cstring%3E%0A%0Atemplate%20%3Cclass%20T%3E%20struct%20result%20%7B%0A%20%20%20%20result%28%29%20%7B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20default%20constructor%0A%20%20%20%20%20%20%20%20std%3A%3Acout%20%3C%3C%20%22result%3CT%3E%20constructor%5Cn%22%3B%0A%20%20%20%20%7D%0A%20%20%20%20T%20check%3B%0A%20%20%20%20constexpr%20explicit%20operator%20bool%28%29%20const%20noexcept%20%7B%20return%20static_cast%3Cbool%3E%28check%29%3B%20%7D%0A%7D%3B%0A%0Astruct%20bool_class%7B%0A%20%20%20%20bool_class%28%29%20%7B%20std%3A%3Acout%20%3C%3C%20%22bool_class%20constructor%5Cn%22%3B%20%7D%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20default%20constructor%0A%20%20%20%20bool_class%28const%20bool_class%26%20other%29%20%7B%20std%3A%3Acout%20%3C%3C%20%22bool_class%20copy%20constructor%5Cn%22%3B%20%7D%20%20%20%20%20%20%20%2F%2F%20copy%20constructor%0A%20%20%20%20bool_class%28bool_class%26%26%20other%29%20noexcept%20%7B%20std%3A%3Acout%20%3C%3C%20%22bool_class%20move%20constructor%5Cn%22%3B%20%7D%20%20%20%2F%2F%20move%20constructor%0A%0A%20%20%20%20bool_class%26%20operator%20%3D%28const%20bool_class%26%20other%29%20%7B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20copy%20assignment%20operator%0A%20%20%20%20%20%20%20%20std%3A%3Acout%20%3C%3C%20%22bool_class%20copy%20assignment%20operator%5Cn%22%3B%0A%20%20%20%20%20%20%20%20return%20%2Athis%3B%0A%20%20%20%20%7D%0A%20%20%20%20bool_class%26%20operator%20%3D%20%28bool_class%26%26%20other%29%20noexcept%20%7B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20move%20assignment%20operator%0A%20%20%20%20%20%20%20%20std%3A%3Acout%20%3C%3C%20%22bool_class%20move%20assignment%20operator%5Cn%22%3B%0A%20%20%20%20%20%20%20%20return%20%2Athis%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20constexpr%20explicit%20operator%20bool%28%29%20const%20noexcept%7B%20return%20true%3B%20%7D%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20status%20return%2C%20obviously%20test%20code%0A%7D%3B]&lt;/p&gt;
&lt;p&gt;Test functions (object factory and similar)&lt;/p&gt;
&lt;p&gt;[embed:dc8ab71f-3b98-42d9-b0f6-e21e02a0f8e2:0aa56188-08ef-4f5c-a5fe-0dc6db151dde:type=csharp&amp;text=using%20bool_result%20%3D%20result%3Cbool_class%3E%3B%0A%0Abool_result%20get_bool_result%28%29%20%7B%20%2F%2F%20factory%20method%0A%20%20%20%20bool_result%20br%3B%20%2F%2F%20calls%20default%20constructor%20and%20result%3CT%3E%20constructor%0A%20%20%20%20return%20br%3B%0A%7D%0A%0Abool_result%20get_bool_result%28bool_class%26%20bc%29%20%7B%0A%20%20%20%20bool_result%20br%3B%20%2F%2F%20calls%20default%20constructor%20and%20result%3CT%3E%20constructor%0A%20%20%20%20br.check%20%3D%20bc%3B%20%20%2F%2F%20calls%20copy%20assignment%20operator%0A%20%20%20%20return%20br%3B%0A%7D%0A%0Abool_result%20get_bool_result%28bool_class%26%26%20bc%29%20%7B%0A%20%20%20%20bool_result%20br%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20calls%20default%20constructor%20and%20result%3CT%3E%20constructor%0A%20%20%20%20br.check%20%3D%20std%3A%3Amove%28bc%29%3B%20%20%20%2F%2F%20calls%20move%20assignment%20operator%0A%20%20%20%20return%20br%3B%0A%7D%0A%0Abool_result%26%20get_bool_result%28bool_result%26%20br%29%20%7B%20%2F%2F%20calls%20nothing%2C%20zero%20cost%0A%20%20%20%20return%20br%3B%0A%7D%0A%0Abool_result%26%26%20get_bool_result%28bool_result%26%26%20br%29%20%7B%20%2F%2F%20calls%20nothing%2C%20zero%20cost%0A%20%20%20%20return%20br%3B%0A%7D]&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Test code&lt;/p&gt;
&lt;p&gt;[embed:dc8ab71f-3b98-42d9-b0f6-e21e02a0f8e2:3bb08264-c729-4eff-803d-dd0c17115e78:type=csharp&amp;text=int%20main%28%29%20%7B%0A%20%20%20%20if%20%28%20auto%26%26%20%5Bcheck%5D%20%3D%20get_bool_result%28%29%29%20%7B%20%20%20%2F%2F%20calls%20default%20constructor%20inside%20the%20function%0A%20%20%20%20%20%20%20%20std%3A%3Acout%20%3C%3C%20%22success%5Cn%22%3B%0A%20%20%20%20%20%20%20%20std%3A%3Acout%20%3C%3C%20%28bool%29check%20%3C%3C%20%22%5Cn%22%3B%0A%0A%20%20%20%20%20%20%20%20bool_class%20a%20%3D%20check%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20calls%20copy%20constructor%0A%20%20%20%20%20%20%20%20%2F%2F%20bool_class%26%26%20b%20%3D%20check%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20invalid%0A%20%20%20%20%20%20%20%20bool_class%20c%20%3D%20std%3A%3Amove%28check%29%3B%20%20%20%20%20%20%20%20%2F%2F%20calls%20move%20constructor%0A%20%20%20%20%20%20%20%20bool_class%26%26%20d%20%3D%20std%3A%3Amove%28check%29%3B%20%20%20%20%20%20%2F%2F%20calls%20nothing%0A%20%20%20%20%20%20%20%20bool_class%20e%28check%29%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20calls%20copy%20constructor%0A%20%20%20%20%20%20%20%20%2F%2F%20bool_class%26%26%20f%28check%29%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20invalid%0A%20%20%20%20%20%20%20%20bool_class%20g%28std%3A%3Amove%28check%29%29%3B%20%20%20%20%20%20%20%20%20%2F%2F%20calls%20move%20constructor%0A%20%20%20%20%20%20%20%20bool_class%26%26%20h%28std%3A%3Amove%28check%29%29%3B%20%20%20%20%20%20%20%2F%2F%20calls%20nothing%0A%0A%20%20%20%20%20%20%20%20bool_class%20i%20%3D%20a%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20calls%20copy%20constructor%0A%20%20%20%20%20%20%20%20%2F%2F%20bool_class%26%26%20j%20%3D%20a%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20invalid%0A%20%20%20%20%20%20%20%20bool_class%20k%20%3D%20d%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20calls%20copy%20constructor%0A%20%20%20%20%20%20%20%20%2F%2F%20bool_class%26%26%20l%20%3D%20d%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20invalid%0A%20%20%20%20%20%20%20%20bool_class%20m%20%3D%20std%3A%3Amove%28a%29%3B%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20calls%20move%20constructor%0A%20%20%20%20%20%20%20%20bool_class%26%26%20n%20%3D%20std%3A%3Amove%28a%29%3B%20%20%20%20%20%20%20%20%20%20%2F%2F%20calls%20nothing%0A%20%20%20%20%20%20%20%20bool_class%20o%20%3D%20std%3A%3Amove%28d%29%3B%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20calls%20move%20constructor%0A%20%20%20%20%20%20%20%20bool_class%26%26%20p%20%3D%20std%3A%3Amove%28d%29%3B%20%20%20%20%20%20%20%20%20%20%2F%2F%20calls%20nothing%0A%0A%20%20%20%20%20%20%20%20a%20%3D%20check%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20calls%20copy%20assignment%20operator%0A%20%20%20%20%20%20%20%20d%20%3D%20check%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20calls%20copy%20assignment%20operator%0A%20%20%20%20%20%20%20%20e%20%3D%20check%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20calls%20copy%20assignment%20operator%0A%20%20%20%20%20%20%20%20g%20%3D%20std%3A%3Amove%28check%29%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20calls%20move%20assignment%20operator%0A%20%20%20%20%20%20%20%20h%20%3D%20std%3A%3Amove%28check%29%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20calls%20move%20assignment%20operator%0A%0A%20%20%20%20%20%20%20%20std%3A%3Aarray%3Cbool_class%2C1%3E%20ar_a%3B%20%20%20%20%20%20%20%20%20%20%2F%2F%20calls%20copy%20constructor%0A%20%20%20%20%20%20%20%20ar_a%5B0%5D%20%3D%20a%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20calls%20copy%20assignment%20operator%0A%20%20%20%20%20%20%20%20ar_a%5B0%5D%20%3D%20d%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20calls%20copy%20assignment%20operator%0A%20%20%20%20%20%20%20%20ar_a%5B0%5D%20%3D%20std%3A%3Amove%28a%29%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20calls%20move%20assignment%20operator%0A%20%20%20%20%20%20%20%20ar_a%5B0%5D%20%3D%20std%3A%3Amove%28d%29%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20calls%20move%20assignment%20operator%0A%0A%20%20%20%20%20%20%20%20std%3A%3Aarray%3Cbool_class%2C1%3E%20ar_b%20%3D%20%7Ba%7D%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20calls%20copy%20constructor%0A%20%20%20%20%20%20%20%20std%3A%3Aarray%3Cbool_class%2C1%3E%20ar_c%20%3D%20%7Bcheck%7D%3B%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20calls%20copy%20constructor%0A%20%20%20%20%20%20%20%20std%3A%3Aarray%3Cbool_class%2C1%3E%20ar_d%20%3D%20%7Bstd%3A%3Amove%28a%29%7D%3B%20%20%20%20%20%2F%2F%20calls%20move%20constructor%0A%20%20%20%20%20%20%20%20std%3A%3Aarray%3Cbool_class%2C1%3E%20ar_e%20%3D%20%7Bstd%3A%3Amove%28check%29%7D%3B%20%2F%2F%20calls%20move%20constructor%0A%0A%20%20%20%20%20%20%20%20if%20%28%20auto%26%26%20%5Bcheck%5D%20%3D%20get_bool_result%28a%29%29%20%7B%7D%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20calls%20copy%20assignment%20operator%0A%20%20%20%20%20%20%20%20if%20%28%20auto%26%26%20%5Bcheck%5D%20%3D%20get_bool_result%28std%3A%3Amove%28a%29%29%29%20%7B%7D%20%2F%2F%20calls%20move%20assignment%20operator%0A%0A%20%20%20%20%20%20%20%20bool_result%20br%3B%20%2F%2F%20calls%20default%20constructor%20and%20result%3CT%3E%20constructor%0A%20%20%20%20%20%20%20%20if%20%28%20auto%26%26%20%5Bcheck%5D%20%3D%20get_bool_result%28br%29%29%20%7B%7D%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20calls%20nothing%2C%20zero%20cost%0A%20%20%20%20%20%20%20%20if%20%28%20auto%26%26%20%5Bcheck%5D%20%3D%20get_bool_result%28std%3A%3Amove%28br%29%29%29%20%7B%7D%20%2F%2F%20calls%20nothing%2C%20zero%20cost%0A%20%20%20%20%7D%0A%7D]&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I documented the pieces of code that either called a constructor or an assignment operator. Both use some resources (just like&amp;nbsp;creating or assigning to a variable cost something).&lt;/p&gt;
&lt;p&gt;Some constructs have a comment &lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;// calls nothing&lt;/span&gt;. These&amp;nbsp;don&amp;#39;t use resources (no memory, cpu time, binary code size).&lt;/p&gt;
&lt;p&gt;Requires GCC 15&lt;/p&gt;</description></item><item><title>reptilian programming overloads share your Python insight</title><link>https://community.element14.com/thread/55739?ContentTypeID=0</link><pubDate>Tue, 29 Apr 2025 17:12:09 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:5aa2babe-9d5a-4782-a533-7cc136acc7b2</guid><dc:creator>colporteur</dc:creator><slash:comments>2</slash:comments><comments>https://community.element14.com/thread/55739?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/55739/reptilian-programming-overloads-share-your-python-insight/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I&amp;#39;m attempting to use a simple (I call it that) python script for an SPI LCD 1.3 inch display. Attempting to pip the install of st7789 results in&amp;nbsp;&amp;quot;error: externally-managed-environment&amp;quot;.&lt;/p&gt;
&lt;p&gt;I found this adafruit tutorial on the basics but I&amp;#39;m looking for more. &lt;a id="" href="https://learn.adafruit.com/python-virtual-environment-usage-on-raspberry-pi/basic-venv-usage" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;https://learn.adafruit.com/python-virtual-environment-usage-on-raspberry-pi/basic-venv-usage&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The script I am attempting I&amp;#39;ve used before. Many setting suns before. Now it hits the environment wall. How are python scripts formatted to operate in the environment? Can I use python environment conditioned scripts the same way as bash scripts (i.e. service calls, rc.local...)&lt;/p&gt;
&lt;p&gt;Can you share your resources that I can use to come up to speed?&lt;/p&gt;</description></item><item><title>RE: reptilian programming overloads share your Python insight</title><link>https://community.element14.com/thread/230393?ContentTypeID=1</link><pubDate>Tue, 02 Sep 2025 18:37:21 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:cb8c7609-9f30-4f47-8507-015b0ae565a0</guid><dc:creator>colporteur</dc:creator><slash:comments>0</slash:comments><comments>https://community.element14.com/thread/230393?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/55739/reptilian-programming-overloads-share-your-python-insight/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Thanks for the response.&lt;/p&gt;
&lt;p&gt;I did find a solution and documented my process as part of a challenge post.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/project14/spring-clean/b/projects/posts/turn-on-the-tv-the-toughest-part-for-last-coding"&gt;Turn on the TV: The toughest part for last coding&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: reptilian programming overloads share your Python insight</title><link>https://community.element14.com/thread/230387?ContentTypeID=1</link><pubDate>Tue, 02 Sep 2025 16:28:58 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:056136d2-a764-4d30-a581-41f8e8fdad8b</guid><dc:creator>balajivan1995</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/230387?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/55739/reptilian-programming-overloads-share-your-python-insight/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I think the source you have mentioned also describes how to use the script&lt;br /&gt;&lt;a href="https://learn.adafruit.com/python-virtual-environment-usage-on-raspberry-pi/automatically-running-at-boot" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;Automatically Running at Boot | Python Virtual Environment Usage on Raspberry Pi | Adafruit Learning System&lt;/a&gt;&lt;br /&gt;&lt;pre class="ui-code" data-mode="batchfile"&gt;pi@raspberrypi:~ $ sudo /home/pi/blinka/bin/python3 /home/pi/neopix_spinner.py&lt;/pre&gt;&lt;br /&gt;Instead of using the default python, you need to explicitly mention the python present in the venv you have created.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: GitHub readme files and code pretty print</title><link>https://community.element14.com/thread/230305?ContentTypeID=1</link><pubDate>Sat, 30 Aug 2025 20:50:36 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:6c15b086-0b00-48dc-9a29-991736522910</guid><dc:creator>shabaz</dc:creator><slash:comments>0</slash:comments><comments>https://community.element14.com/thread/230305?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/56118/github-readme-files-and-code-pretty-print/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Neat.. I didn&amp;#39;t know about that Markdown capability...just tried it with VS Code:&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/80/md_2D00_vscode.jpg" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>GitHub readme files and code pretty print</title><link>https://community.element14.com/thread/56118?ContentTypeID=0</link><pubDate>Sat, 30 Aug 2025 19:40:11 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:dcb2be9a-145a-46fc-b1c9-1c5928dbeeae</guid><dc:creator>Jan Cumps</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/56118?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/56118/github-readme-files-and-code-pretty-print/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;GitHub supports readme files with markdown formatting. Markdown has an option to show text as source code, by wrapping it in&amp;nbsp;&lt;strong&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;```&lt;/span&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Today I learned, that the GitHub markdown renderer knows a lot of programming languages. I just made a file that pretty prints C++ and CMake code.&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:452px;max-width:496px;" alt=" " height="452" src="https://community.element14.com/resized-image/__size/992x904/__key/communityserver-discussions-components-files/80/pastedimage1756582607951v1.png" width="496" /&gt;&lt;/p&gt;
&lt;p&gt;Using it is easy. You just put&amp;nbsp;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&lt;strong&gt;```cpp&lt;/strong&gt;&lt;/span&gt;&amp;nbsp; or&amp;nbsp;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&lt;strong&gt;```cmake&lt;/strong&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;at the start, instead of just the 3 opening apostrophes.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</description></item><item><title>AI induced errors in your code</title><link>https://community.element14.com/thread/55698?ContentTypeID=0</link><pubDate>Fri, 11 Apr 2025 08:49:31 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:6c67d555-fc79-45ec-a5a3-db0ff150cc32</guid><dc:creator>michaelkellett</dc:creator><slash:comments>20</slash:comments><comments>https://community.element14.com/thread/55698?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/55698/ai-induced-errors-in-your-code/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;There&amp;#39;s an interesting article here:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.eenewseurope.com/en/llms-used-to-code-can-introduce-serious-errors/?hash=93e5355d8bf7ef1fe62975a87f9d012aac4b4f7c7d1099e932443336d0aa983e" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;https://www.eenewseurope.com/en/llms-used-to-code-can-introduce-serious-errors/?hash=93e5355d8bf7ef1fe62975a87f9d012aac4b4f7c7d1099e932443336d0aa983e&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The key point of the article is:&lt;/p&gt;
&lt;p&gt;&amp;quot;discovered that 440,445 out of 2.23 million code samples generated in Python and JavaScript using LLM models referenced hallucinated packages&amp;quot;&lt;/p&gt;
&lt;p&gt;Bad actors can identify popular hallucinations and make real malware packages which will then be loaded into your code.&lt;/p&gt;
&lt;p&gt;So unless you have a bomb proof way of checking that any packages referenced in AI generated code you may have serious problems.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Worth thinking about !&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;MK&lt;/p&gt;</description></item><item><title>RE: AI induced errors in your code</title><link>https://community.element14.com/thread/228767?ContentTypeID=1</link><pubDate>Sun, 18 May 2025 20:45:18 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:a71febd5-99a3-4446-8593-15ef5cb65a02</guid><dc:creator>DAB</dc:creator><slash:comments>0</slash:comments><comments>https://community.element14.com/thread/228767?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/55698/ai-induced-errors-in-your-code/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Only if you think AI is ever going to become smart enough to care.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: AI induced errors in your code</title><link>https://community.element14.com/thread/228719?ContentTypeID=1</link><pubDate>Thu, 15 May 2025 20:48:44 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e1e5bd8b-856e-4161-9fdc-e3c43d136ee0</guid><dc:creator>anniel747</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/228719?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/55698/ai-induced-errors-in-your-code/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;a href="https://community.element14.com/members/dab"&gt;DAB&lt;/a&gt;&amp;nbsp;One should invent&amp;nbsp;&lt;span&gt;Babbage Awards?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: AI induced errors in your code</title><link>https://community.element14.com/thread/228716?ContentTypeID=1</link><pubDate>Thu, 15 May 2025 20:26:30 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:4937e6ca-3e3e-4574-8621-4bddeeef5d13</guid><dc:creator>DAB</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/228716?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/55698/ai-induced-errors-in-your-code/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Technically a Darwin Award is only for people who take themselves out of the gene pool.&lt;/p&gt;
&lt;p&gt;So an AI system that self destructs is only an algorithm fulfilling its destiny.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: AI induced errors in your code</title><link>https://community.element14.com/thread/228663?ContentTypeID=1</link><pubDate>Wed, 14 May 2025 15:29:20 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:28bf6057-9d24-4900-b35a-8222f6c9e4e2</guid><dc:creator>BigG</dc:creator><slash:comments>0</slash:comments><comments>https://community.element14.com/thread/228663?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/55698/ai-induced-errors-in-your-code/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Almost certainly. The Darwin hallucination award.&lt;/p&gt;
&lt;p&gt;I now see AI has that super smart computer grad with zero street sense... always rushing off to do the job before fully understanding exactly what is required (basically proving that assumption is the mother of all problems).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: AI induced errors in your code</title><link>https://community.element14.com/thread/228659?ContentTypeID=1</link><pubDate>Wed, 14 May 2025 14:24:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:664a7acd-fea1-47fd-bcdd-721653b631b2</guid><dc:creator>anniel747</dc:creator><slash:comments>2</slash:comments><comments>https://community.element14.com/thread/228659?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/55698/ai-induced-errors-in-your-code/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;a href="https://community.element14.com/members/dab"&gt;DAB&lt;/a&gt;&amp;nbsp;Is AI eligible for&amp;nbsp;Darwin Awards?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: AI induced errors in your code</title><link>https://community.element14.com/thread/228623?ContentTypeID=1</link><pubDate>Tue, 13 May 2025 20:57:46 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:21fd65d7-92e0-4db1-a1bc-69db01e91ae4</guid><dc:creator>DAB</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/228623?ContentTypeID=1</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/55698/ai-induced-errors-in-your-code/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;That approach can only lead to more insanity.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>