<?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>Thu, 19 Mar 2026 16:10:57 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://community.element14.com/technologies/code_exchange/f/forum" /><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;&lt;a href="https://community.element14.com/technologies/code_exchange/f/forum/56778/android-app-dev-wanted"&gt;Android app dev wanted?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://www.youtube.com/watch?v=1-Mwc4BigKw"&gt;www.youtube.com/watch&lt;/a&gt;&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;&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 alt="image" style="max-height:360px;max-width:640px;" src="https://community.element14.com/resized-image/__size/1280x720/__key/communityserver-discussions-components-files/80/asasas.png"  /&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;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><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;&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;&lt;div style="clear:both;"&gt;&lt;/div&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;&lt;pre class="ui-code" data-mode="csharp"&gt;#include &amp;lt;iostream&amp;gt;
#include &amp;lt;array&amp;gt;
#include &amp;lt;string&amp;gt;

template &amp;lt;class T&amp;gt; struct result {
    result() {                                                                                  // default constructor
        std::cout &amp;lt;&amp;lt; &amp;quot;result&amp;lt;T&amp;gt; constructor\n&amp;quot;;
    }
    T check;
    constexpr explicit operator bool() const noexcept { return static_cast&amp;lt;bool&amp;gt;(check); }
};

struct bool_class{
    bool_class() { std::cout &amp;lt;&amp;lt; &amp;quot;bool_class constructor\n&amp;quot;; }                                   // default constructor
    bool_class(const bool_class&amp;amp; other) { std::cout &amp;lt;&amp;lt; &amp;quot;bool_class copy constructor\n&amp;quot;; }       // copy constructor
    bool_class(bool_class&amp;amp;&amp;amp; other) noexcept { std::cout &amp;lt;&amp;lt; &amp;quot;bool_class move constructor\n&amp;quot;; }   // move constructor

    bool_class&amp;amp; operator =(const bool_class&amp;amp; other) {                                           // copy assignment operator
        std::cout &amp;lt;&amp;lt; &amp;quot;bool_class copy assignment operator\n&amp;quot;;
        return *this;
    }
    bool_class&amp;amp; operator = (bool_class&amp;amp;&amp;amp; other) noexcept {                                      // move assignment operator
        std::cout &amp;lt;&amp;lt; &amp;quot;bool_class move assignment operator\n&amp;quot;;
        return *this;
    }

    constexpr explicit operator bool() const noexcept{ return true; }                           // status return, obviously test code
};&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Test functions (object factory and similar)&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;using bool_result = result&amp;lt;bool_class&amp;gt;;

bool_result get_bool_result() { // factory method
    bool_result br; // calls default constructor and result&amp;lt;T&amp;gt; constructor
    return br;
}

bool_result get_bool_result(bool_class&amp;amp; bc) {
    bool_result br; // calls default constructor and result&amp;lt;T&amp;gt; constructor
    br.check = bc;  // calls copy assignment operator
    return br;
}

bool_result get_bool_result(bool_class&amp;amp;&amp;amp; bc) {
    bool_result br;             // calls default constructor and result&amp;lt;T&amp;gt; constructor
    br.check = std::move(bc);   // calls move assignment operator
    return br;
}

bool_result&amp;amp; get_bool_result(bool_result&amp;amp; br) { // calls nothing, zero cost
    return br;
}

bool_result&amp;amp;&amp;amp; get_bool_result(bool_result&amp;amp;&amp;amp; br) { // calls nothing, zero cost
    return br;
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Test code&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;int main() {
    if ( auto&amp;amp;&amp;amp; [check] = get_bool_result()) {   // calls default constructor inside the function
        std::cout &amp;lt;&amp;lt; &amp;quot;success\n&amp;quot;;
        std::cout &amp;lt;&amp;lt; (bool)check &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;

        bool_class a = check;                   // calls copy constructor
        // bool_class&amp;amp;&amp;amp; b = check;              // invalid
        bool_class c = std::move(check);        // calls move constructor
        bool_class&amp;amp;&amp;amp; d = std::move(check);      // calls nothing
        bool_class e(check);                    // calls copy constructor
        // bool_class&amp;amp;&amp;amp; f(check);               // invalid
        bool_class g(std::move(check));         // calls move constructor
        bool_class&amp;amp;&amp;amp; h(std::move(check));       // calls nothing

        bool_class i = a;                       // calls copy constructor
        // bool_class&amp;amp;&amp;amp; j = a;                  // invalid
        bool_class k = d;                       // calls copy constructor
        // bool_class&amp;amp;&amp;amp; l = d;                  // invalid
        bool_class m = std::move(a);            // calls move constructor
        bool_class&amp;amp;&amp;amp; n = std::move(a);          // calls nothing
        bool_class o = std::move(d);            // calls move constructor
        bool_class&amp;amp;&amp;amp; p = std::move(d);          // calls nothing

        a = check;                              // calls copy assignment operator
        d = check;                              // calls copy assignment operator
        e = check;                              // calls copy assignment operator
        g = std::move(check);                   // calls move assignment operator
        h = std::move(check);                   // calls move assignment operator

        std::array&amp;lt;bool_class,1&amp;gt; ar_a;          // calls copy constructor
        ar_a[0] = a;                            // calls copy assignment operator
        ar_a[0] = d;                            // calls copy assignment operator
        ar_a[0] = std::move(a);                 // calls move assignment operator
        ar_a[0] = std::move(d);                 // calls move assignment operator

        std::array&amp;lt;bool_class,1&amp;gt; ar_b = {a};                // calls copy constructor
        std::array&amp;lt;bool_class,1&amp;gt; ar_c = {check};            // calls copy constructor
        std::array&amp;lt;bool_class,1&amp;gt; ar_d = {std::move(a)};     // calls move constructor
        std::array&amp;lt;bool_class,1&amp;gt; ar_e = {std::move(check)}; // calls move constructor

        if ( auto&amp;amp;&amp;amp; [check] = get_bool_result(a)) {}            // calls copy assignment operator
        if ( auto&amp;amp;&amp;amp; [check] = get_bool_result(std::move(a))) {} // calls move assignment operator

        bool_result br; // calls default constructor and result&amp;lt;T&amp;gt; constructor
        if ( auto&amp;amp;&amp;amp; [check] = get_bool_result(br)) {}            // calls nothing, zero cost
        if ( auto&amp;amp;&amp;amp; [check] = get_bool_result(std::move(br))) {} // calls nothing, zero cost
    }
}&lt;/pre&gt;&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;&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 alt="image" style="max-height:452px;max-width:496px;"  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;&lt;div style="clear:both;"&gt;&lt;/div&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;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>find a good name for a C++ class</title><link>https://community.element14.com/thread/55705?ContentTypeID=0</link><pubDate>Tue, 15 Apr 2025 19:18:38 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:0632952d-01ec-478e-80c3-37d899ffc3d7</guid><dc:creator>Jan Cumps</dc:creator><slash:comments>20</slash:comments><comments>https://community.element14.com/thread/55705?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/55705/find-a-good-name-for-a-c-class/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I&amp;#39;m designing two classes,&amp;nbsp;for a stepper motor project:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;one can send commands to a stepper motor. &lt;br /&gt;Each command has the number of steps and direction&lt;br /&gt;Running the motor happens async. Once the first command is sent, the motor heads off, until all commands are done.&lt;br /&gt;I named it &lt;strong&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;stepper&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;the other class does the same, but it can notify the caller when it has completed a command.&lt;br /&gt;I named it &lt;strong&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;stepper_interrupt&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I&amp;#39;m not happy with that second name. It doesn&amp;#39;t show what the class does. It&amp;#39;s named after how it does it. I don&amp;#39;t like that.&lt;/p&gt;
&lt;p&gt;Do you have a better name?&lt;/p&gt;
&lt;p&gt;&lt;em&gt;please don&amp;#39;t call it Stepper McStepperFace&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&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;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>try-out: build and debug on wsl  with VSCode running on Windows</title><link>https://community.element14.com/thread/55596?ContentTypeID=0</link><pubDate>Sun, 02 Mar 2025 20:07:07 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:34d23b78-67f3-4f42-81da-0cdbb0c3dc7d</guid><dc:creator>Jan Cumps</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/55596?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/55596/try-out-build-and-debug-on-wsl-with-vscode-running-on-windows/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I tried out this exercise: how does &lt;a href="https://code.visualstudio.com/docs/cpp/config-wsl" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;VSCode integrate with WSL and the GNU toolchain&lt;/a&gt;? it turns out that this is straingtforward. Assumption is that you have VSCode installed, and have a WSL with a C++ toolchain (I have an Ubuntu with GCC) and GDB.&lt;/p&gt;
&lt;p&gt;There are only a few steps required. You&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;install the VSCode Remote Development extension,&lt;/li&gt;
&lt;li&gt;connect to a WSL share&lt;/li&gt;
&lt;li&gt;install&amp;nbsp; C++ Extension&lt;/li&gt;
&lt;li&gt;create a cpp source file.&lt;/li&gt;
&lt;li&gt;run it&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="image" style="max-height:297px;max-width:497px;"  height="297" src="https://community.element14.com/resized-image/__size/994x594/__key/communityserver-discussions-components-files/80/pastedimage1740945709586v1.png" width="497" /&gt;&lt;/p&gt;
&lt;p&gt;It&amp;#39;s that simple to get started. I had buckled up for a difficult experience, but this worked right away.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>What is the best programming language for making an app that has to be listening/writing to an esp32-s3 running linux?</title><link>https://community.element14.com/thread/55461?ContentTypeID=0</link><pubDate>Thu, 09 Jan 2025 17:23:32 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:39ab0ec2-6eb4-4a4a-a64e-6dceb7c2acd1</guid><dc:creator>CASA14</dc:creator><slash:comments>5</slash:comments><comments>https://community.element14.com/thread/55461?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/55461/what-is-the-best-programming-language-for-making-an-app-that-has-to-be-listening-writing-to-an-esp32-s3-running-linux/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi friends!&lt;/p&gt;
&lt;p&gt;I have tried that to run linux on esp32 and I thought that I could go further.&lt;/p&gt;
&lt;p&gt;So I thought: &amp;quot;Why if I design an app that can use my Pc processor and esp32-s3 processor too?&amp;quot;&lt;/p&gt;
&lt;p&gt;And I tried with a simple app as MIT AppInventor but it doesn&amp;#39;t work very well.&lt;/p&gt;
&lt;p&gt;That&amp;#39;s why I&amp;#39;m here for asking you.&lt;/p&gt;
&lt;p&gt;I hope you can help me...&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Implementing Bluetooth technology - in C/C++ code.</title><link>https://community.element14.com/thread/55289?ContentTypeID=0</link><pubDate>Fri, 15 Nov 2024 17:31:22 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:bbbd32a3-7eae-490c-a93a-22f5fcf3fcbd</guid><dc:creator>anneranch</dc:creator><slash:comments>15</slash:comments><comments>https://community.element14.com/thread/55289?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/55289/implementing-bluetooth-technology---in-c-c-code/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I am looking for discussion on how to implement Bluetooth technology in C/C++ code.&lt;/p&gt;
&lt;p&gt;My main concern is toi do this reliably and repeatedly.&lt;/p&gt;
&lt;p&gt;I am basically using very old HCI approach, implementing&amp;nbsp; &amp;quot;bluez&amp;quot; &amp;quot;library&amp;quot; .&lt;/p&gt;
&lt;p&gt;The code works, despite lack of documentation of &amp;quot;bluez library&amp;quot;.&lt;/p&gt;
&lt;p&gt;My &amp;quot;in words&amp;quot; question is&lt;/p&gt;
&lt;p&gt;How&amp;nbsp; does &amp;quot;local&amp;nbsp; Bluetooth adapter &amp;quot; implements / enables&amp;nbsp; &amp;quot;scan&amp;quot; for remote Bluetooth device ,&lt;/p&gt;
&lt;p&gt;how is &amp;quot;paring&amp;quot; and&amp;nbsp; &amp;quot;connect&amp;quot;&amp;nbsp; used dur9ing this process.]&lt;/p&gt;
&lt;p&gt;The answer must be in &amp;quot;bluez&amp;quot;&amp;nbsp; library , however I am unable to &amp;quot;step thru &amp;quot; its code - too convoluted&amp;nbsp; and&lt;/p&gt;
&lt;p&gt;not documented.&lt;/p&gt;
&lt;p&gt;( I will post the link to C code when it became beneficial for detailed discussion )&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;My secondary concern is&lt;/p&gt;
&lt;p&gt;how to analyze and then&amp;nbsp; implement&lt;/p&gt;
&lt;p&gt;&amp;quot;replacing USB serial cable&amp;nbsp; &amp;quot; witht Bluetooth technology / connecti0on?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Let&amp;#39;s see how the forum sill respond and then I could give details for the secondary issue.&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;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>how to read mic in esp32 s3 sense using micropython</title><link>https://community.element14.com/thread/55285?ContentTypeID=0</link><pubDate>Thu, 14 Nov 2024 18:06:19 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:2c9a9427-af67-49d1-a6a9-7dc4c461ff92</guid><dc:creator>manojroy123</dc:creator><slash:comments>4</slash:comments><comments>https://community.element14.com/thread/55285?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/55285/how-to-read-mic-in-esp32-s3-sense-using-micropython/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Does anyone knows how to read microphone in esp32 s3 sense development board using micropython.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>how to solve the give python error</title><link>https://community.element14.com/thread/55195?ContentTypeID=0</link><pubDate>Fri, 11 Oct 2024 17:43:45 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:536cf8bd-2a4b-4f74-b769-f26093a625fc</guid><dc:creator>manojroy123</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/55195?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/55195/how-to-solve-the-give-python-error/rss?ContentTypeId=0</wfw:commentRss><description>&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/4150.error.png" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Can anyone help me solve this error I am getting</title><link>https://community.element14.com/thread/55185?ContentTypeID=0</link><pubDate>Thu, 10 Oct 2024 09:15:09 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:aa05f281-ae16-497c-8916-4e6549ab8406</guid><dc:creator>manojroy123</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/55185?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/55185/can-anyone-help-me-solve-this-error-i-am-getting/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;import numpy as np
import tensorflow as tf
from tensorflow.keras.models import Model
from tensorflow.keras.layers import Input, Conv2D, BatchNormalization, LeakyReLU, concatenate

def tiny_yolo_v2(input_shape, num_classes):
    inputs = Input(shape=input_shape)

    # Tiny YOLOv2 architecture
    x = Conv2D(16, (3, 3), padding=&amp;#39;same&amp;#39;)(inputs)
    x = BatchNormalization()(x)
    x = LeakyReLU(alpha=0.1)(x)

    x = Conv2D(32, (3, 3), strides=(2, 2), padding=&amp;#39;same&amp;#39;)(x)
    x = BatchNormalization()(x)
    x = LeakyReLU(alpha=0.1)(x)

    x = Conv2D(64, (3, 3), strides=(2, 2), padding=&amp;#39;same&amp;#39;)(x)
    x = BatchNormalization()(x)
    x = LeakyReLU(alpha=0.1)(x)

    x = Conv2D(128, (3, 3), strides=(2, 2), padding=&amp;#39;same&amp;#39;)(x)
    x = BatchNormalization()(x)
    x = LeakyReLU(alpha=0.1)(x)

    x = Conv2D(256, (3, 3), strides=(2, 2), padding=&amp;#39;same&amp;#39;)(x)
    x = BatchNormalization()(x)
    x = LeakyReLU(alpha=0.1)(x)

    # Final output layer
    x = Conv2D(num_classes, (1, 1), padding=&amp;#39;same&amp;#39;)(x)

    model = Model(inputs, x)
    return model

def load_darknet_weights(model, weights_file):
    with open(weights_file, &amp;quot;rb&amp;quot;) as f:
        header = np.fromfile(f, dtype=np.int32, count=5)  # Read header
        weights = np.fromfile(f, dtype=np.float32)  # Read weights

    layer_index = 0
    for layer in model.layers:
        if isinstance(layer, Conv2D):
            filters = layer.filters
            kernel_size = layer.kernel_size[0]
            input_dim = layer.input_shape[-1]
            
            # Load weights
            if layer.use_bias:
                start = layer_index * (filters * (kernel_size ** 2) * input_dim + filters)
            else:
                start = layer_index * (filters * (kernel_size ** 2) * input_dim)

            end = start + (filters * (kernel_size ** 2) * input_dim)
            kernel = weights[start:end].reshape((kernel_size, kernel_size, input_dim, filters))
            layer.set_weights([kernel])
            
            
            if layer.use_bias:
                start = end
                end = start + filters
                bias = weights[start:end]
                layer.set_weights([kernel, bias])

            layer_index += 1

# Specify parameters
input_shape = (416, 416, 3)
num_classes = 20  # Adjust based on your dataset

# Create the Tiny YOLOv2 model
model = tiny_yolo_v2(input_shape, num_classes)

# Load weights from Darknet
weights_file = &amp;#39;yolov2-tiny.weights&amp;#39;  # Path to your weights file
load_darknet_weights(model, weights_file)

# Save the model in H5 format
model.save(&amp;#39;tiny_yolo_v2.h5&amp;#39;)

print(&amp;quot;Model saved to &amp;#39;tiny_yolo_v2.h5&amp;#39;&amp;quot;)

&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;I am getting this error&lt;/p&gt;
&lt;p&gt;&amp;gt; %Run &amp;#39;file reading.py&amp;#39;&lt;br /&gt;2024-10-10 14:42:55.306715: I tensorflow/core/util/port.cc:153] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.&lt;br /&gt;2024-10-10 14:43:07.741864: I tensorflow/core/util/port.cc:153] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.&lt;br /&gt;C:\Users\manojroy\AppData\Roaming\Python\Python310\site-packages\keras\src\layers\activations\leaky_relu.py:41: UserWarning: Argument `alpha` is deprecated. Use `negative_slope` instead.&lt;br /&gt; warnings.warn(&lt;br /&gt;Traceback (most recent call last):&lt;br /&gt; File &amp;quot;C:\Users\manojroy\Desktop\CircuitDigest\AssistiveTechForBlind\Yolo2Tiny\file reading.py&amp;quot;, line 76, in &amp;lt;module&amp;gt;&lt;br /&gt; load_darknet_weights(model, weights_file)&lt;br /&gt; File &amp;quot;C:\Users\manojroy\Desktop\CircuitDigest\AssistiveTechForBlind\Yolo2Tiny\file reading.py&amp;quot;, line 46, in load_darknet_weights&lt;br /&gt; input_dim = layer.input_shape[-1]&lt;br /&gt;AttributeError: &amp;#39;Conv2D&amp;#39; object has no attribute &amp;#39;input_shape&amp;#39;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;the code is for convertion of yolov2 tiny weights to tensorflow *.h5 weights. If some one has any better solutions please let me know about it.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>how to solve this error</title><link>https://community.element14.com/thread/55167?ContentTypeID=0</link><pubDate>Sat, 05 Oct 2024 20:08:10 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:7d55bdbc-7f39-4d1f-be53-02f8ea8e339c</guid><dc:creator>manojroy123</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/55167?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/55167/how-to-solve-this-error/rss?ContentTypeId=0</wfw:commentRss><description>&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/colaberror3.png" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>how to solve this error</title><link>https://community.element14.com/thread/55162?ContentTypeID=0</link><pubDate>Sat, 05 Oct 2024 15:05:46 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:5fe525d7-6621-46b6-91c1-ab32cfc94416</guid><dc:creator>manojroy123</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/55162?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/55162/how-to-solve-this-error/rss?ContentTypeId=0</wfw:commentRss><description>&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/8463.colaberror2.png" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>how to solve the given error</title><link>https://community.element14.com/thread/55160?ContentTypeID=0</link><pubDate>Sat, 05 Oct 2024 13:49:24 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:56d17d42-9b9a-4f58-a1a4-4312fa205394</guid><dc:creator>manojroy123</dc:creator><slash:comments>3</slash:comments><comments>https://community.element14.com/thread/55160?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/55160/how-to-solve-the-given-error/rss?ContentTypeId=0</wfw:commentRss><description>&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/colaberror.png" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>how to solve this error produce by nc compile</title><link>https://community.element14.com/thread/55158?ContentTypeID=0</link><pubDate>Fri, 04 Oct 2024 16:35:02 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:953c3ae7-57b1-4be0-8a30-cdbf4f19a150</guid><dc:creator>manojroy123</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/55158?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/55158/how-to-solve-this-error-produce-by-nc-compile/rss?ContentTypeId=0</wfw:commentRss><description>&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/NccError.png" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>does anyone knows how to convert Yolov2 tiny model to onnx</title><link>https://community.element14.com/thread/55156?ContentTypeID=0</link><pubDate>Fri, 04 Oct 2024 09:13:26 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:7c6c8c4c-b12a-4b2a-a8f0-0d0942d1ed02</guid><dc:creator>manojroy123</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/55156?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/55156/does-anyone-knows-how-to-convert-yolov2-tiny-model-to-onnx/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;does anyone knows how to convert Yolov2 tiny model to onnx. Please help me in it.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>K210 KPU needs tiny yolov2 or tiny yolov3 to connvert to onnx. I need help in conversion</title><link>https://community.element14.com/thread/55149?ContentTypeID=0</link><pubDate>Wed, 02 Oct 2024 05:54:27 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:05d3ce0a-3b1c-41e4-9309-4087be4e3dbd</guid><dc:creator>manojroy123</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/55149?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/55149/k210-kpu-needs-tiny-yolov2-or-tiny-yolov3-to-connvert-to-onnx-i-need-help-in-conversion/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I have made yolov5s model. I would like to know, How to convert it into Tiny yolo v2, or Tiny yolo v3 pytorch model and than convert that model into onnx model. Which ultrylytics git package to download to convert Tiny yolo v2, Tiny yolo v3 model to onnx that is accepted by ncc 0.2.0 compier for converting it into kmodel v3 or Kmodel v4&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>onnx file need to be compatible with nncase 0.2.0 or with nncase 0.1.0 for creating kmodel file</title><link>https://community.element14.com/thread/55148?ContentTypeID=0</link><pubDate>Tue, 01 Oct 2024 22:58:38 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:d2f85bae-c9b1-434b-b3e8-f89ad27277b9</guid><dc:creator>manojroy123</dc:creator><slash:comments>1</slash:comments><comments>https://community.element14.com/thread/55148?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/55148/onnx-file-need-to-be-compatible-with-nncase-0-2-0-or-with-nncase-0-1-0-for-creating-kmodel-file/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;onnx file need to be compatible with nncase 0.2.0 or with nncase 0.1.0 for creating kmodel file. Can someone guide me how to convert pytorch model to onnx model. So that onnx model is compatible with nncase 0.2.0 or with nncase 0.1.0&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>how to solve this error for nncase</title><link>https://community.element14.com/thread/55141?ContentTypeID=0</link><pubDate>Mon, 30 Sep 2024 10:08:30 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:b953319c-0c1d-4deb-8e3e-51d254187a67</guid><dc:creator>manojroy123</dc:creator><slash:comments>2</slash:comments><comments>https://community.element14.com/thread/55141?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/55141/how-to-solve-this-error-for-nncase/rss?ContentTypeId=0</wfw:commentRss><description>&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/error1.png" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>how to solve python error</title><link>https://community.element14.com/thread/55139?ContentTypeID=0</link><pubDate>Mon, 30 Sep 2024 09:15:34 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e7434ddd-5de5-4277-94c9-549243b2e962</guid><dc:creator>manojroy123</dc:creator><slash:comments>3</slash:comments><comments>https://community.element14.com/thread/55139?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/55139/how-to-solve-python-error/rss?ContentTypeId=0</wfw:commentRss><description>&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/error.png" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>I wan't to convert pytorch model to ONNX model. I am getting this error while running the following code</title><link>https://community.element14.com/thread/55138?ContentTypeID=0</link><pubDate>Mon, 30 Sep 2024 06:21:40 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:63a5bc4a-77e6-4d76-8d55-9038d77174a2</guid><dc:creator>manojroy123</dc:creator><slash:comments>4</slash:comments><comments>https://community.element14.com/thread/55138?ContentTypeID=0</comments><wfw:commentRss>https://community.element14.com/technologies/code_exchange/f/forum/55138/i-wan-t-to-convert-pytorch-model-to-onnx-model-i-am-getting-this-error-while-running-the-following-code/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;import torch&lt;/p&gt;
&lt;p&gt;# Load your PyTorch model&lt;br /&gt;model = torch.load(&amp;#39;yolov5s.pt&amp;#39;, weights_only=False )&lt;br /&gt;model.eval() # Set the model to evaluation mode&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Error:-&lt;/p&gt;
&lt;p&gt;&amp;gt;&amp;gt;&amp;gt; %Run convertor.py&lt;br /&gt;Traceback (most recent call last):&lt;br /&gt; File &amp;quot;C:\Users\manojroy\Desktop\CircuitDigest\AssistiveTechForBlind\SIPEED_DEVELOPMENT_BOARD\nncase\ncc_win_x86_64\convertor.py&amp;quot;, line 4, in &amp;lt;module&amp;gt;&lt;br /&gt; model = torch.load(&amp;#39;yolov5s.pt&amp;#39;, weights_only=False )&lt;br /&gt; File &amp;quot;C:\Users\manojroy\AppData\Roaming\Python\Python310\site-packages\torch\serialization.py&amp;quot;, line 1097, in load&lt;br /&gt; return _load(&lt;br /&gt; File &amp;quot;C:\Users\manojroy\AppData\Roaming\Python\Python310\site-packages\torch\serialization.py&amp;quot;, line 1525, in _load&lt;br /&gt; result = unpickler.load()&lt;br /&gt; File &amp;quot;C:\Users\manojroy\AppData\Roaming\Python\Python310\site-packages\torch\serialization.py&amp;quot;, line 1515, in find_class&lt;br /&gt; return super().find_class(mod_name, name)&lt;br /&gt;ModuleNotFoundError: No module named &amp;#39;models&amp;#39;&lt;br /&gt;&amp;gt;&amp;gt;&amp;gt; &lt;/p&gt;
&lt;p&gt;Can Anyone help me in solving this error.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>