{"id":5938,"date":"2023-11-10T09:54:34","date_gmt":"2023-11-10T09:54:34","guid":{"rendered":"https:\/\/picockpit.com\/raspberry-pi\/?p=5938"},"modified":"2023-11-23T02:07:41","modified_gmt":"2023-11-23T02:07:41","slug":"exploring-microlua-lua-programming-for-rp2040","status":"publish","type":"post","link":"https:\/\/picockpit.com\/raspberry-pi\/sv\/utforska-microlua-lua-programmering-for-rp2040\/","title":{"rendered":"Utforska MicroLua: Lua-programmering f\u00f6r RP2040"},"content":{"rendered":"<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"638\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/11\/Exploring-MicroLua-for-the-RP2040-Title-Image.png\" alt=\"Utforska MicroLua f\u00f6r RP2040 Titelbild\" class=\"wp-image-5939\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/11\/Exploring-MicroLua-for-the-RP2040-Title-Image.png 960w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/11\/Exploring-MicroLua-for-the-RP2040-Title-Image-300x199.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/11\/Exploring-MicroLua-for-the-RP2040-Title-Image-768x510.png 768w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/11\/Exploring-MicroLua-for-the-RP2040-Title-Image-18x12.png 18w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><\/figure>\n\n\n\n<p>Har du n\u00e5gonsin velat f\u00f6rdjupa dig i Lua-programmering och utforska m\u00f6jligheterna med mikrokontrollern RP2040? Titta inte l\u00e4ngre - MicroLua erbjuder en sp\u00e4nnande m\u00f6jlighet att g\u00f6ra just det! <\/p>\n\n\n\n<p>I den h\u00e4r artikeln vill jag f\u00f6rdjupa mig i vad <a href=\"https:\/\/github.com\/MicroLua\/MicroLua\">MicroLua<\/a> \u00e4r, hur det fungerar och varf\u00f6r jag tycker att det \u00e4r ett superv\u00e4rdefullt verktyg f\u00f6r utvecklare.<\/p>\n\n\n\n<p>Jag vill skicka en stor hyllning till <a href=\"https:\/\/github.com\/MicroLua\">Remy Blank<\/a> f\u00f6r att ha utvecklat MicroLua och delat med sig av det till v\u00e4rlden. Remy har lagt ut det med en MIT-licens (som Lua sj\u00e4lv \u00e4r), vilket g\u00f6r MicroLua tillg\u00e4ngligt f\u00f6r alla. <\/p>\n\n\n\n<p>Jag ser verkligen fram emot att anv\u00e4nda den i n\u00e5gra framtida projekt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Vad \u00e4r MicroLua?<\/strong> <strong>Vad \u00e4r en RP2040?<\/strong><\/h2>\n\n\n\n<p>MicroLua anv\u00e4nder allts\u00e5 Lua-implementeringen och paketerar den. <\/p>\n\n\n\n<p>Lua \u00e4r ett dynamiskt typat spr\u00e5k med flera paradigmer. Och det \u00e4r naturligtvis ett av de snabbaste skriptspr\u00e5ken som finns. Det \u00e4r ocks\u00e5 superlitet (k\u00e4llkoden och dokumentationen tar tillsammans upp 1,3 MB!)<\/p>\n\n\n\n<p>S\u00e5 den \u00e4r snabb, liten och perfekt n\u00e4r du vill b\u00e4dda in n\u00e5got i st\u00f6rre applikationer.<\/p>\n\n\n\n<p>Lua har ocks\u00e5 21 markerade nyckelord och en ganska enkel syntax, s\u00e5 det \u00e4r relativt enkelt att l\u00e4ra sig.<\/p>\n\n\n\n<p>Men om du inte k\u00e4nner till det s\u00e5 \u00e4r det f\u00f6rsta som alla klagar p\u00e5 med Lua att det \u00e4r ett 1-baserat indexerat spr\u00e5k. Och \u00e4rligt talat, det f\u00e5r mig p\u00e5 fall varje g\u00e5ng.<\/p>\n\n\n\n<p>H\u00e4r \u00e4r ett exempel p\u00e5 Lua, s\u00e5 att du kan se det:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"752\" height=\"817\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/11\/Screenshot-from-2023-11-09-17-01-24.png\" alt=\"Lua-exempel fr\u00e5n Lua.org\" class=\"wp-image-5943\" style=\"width:511px;height:auto\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/11\/Screenshot-from-2023-11-09-17-01-24.png 752w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/11\/Screenshot-from-2023-11-09-17-01-24-276x300.png 276w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/11\/Screenshot-from-2023-11-09-17-01-24-11x12.png 11w\" sizes=\"auto, (max-width: 752px) 100vw, 752px\" \/><figcaption class=\"wp-element-caption\">Kredit: <a href=\"https:\/\/www.lua.org\/cgi-bin\/demo?globals\">lua.org<\/a>.<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Remy har utformat MicroLua f\u00f6r att programmera specifikt f\u00f6r RP2040 mikrokontroller. <\/p>\n\n\n\n<p>Mikrokontrollern RP2040 \u00e4r ett internt chip i Raspberry Pi som driver en <a href=\"https:\/\/buyzero.de\/products\/raspberry-pi-pico-w-h-konfigurator-pico-pico-w-pico-h-pico-wh?_pos=1&amp;_sid=22b5b2d56&amp;_ss=r&amp;variant=43536399958283\">Pico<\/a>. Raspberry Pi s\u00e4ljer dock \u00e4ven <a href=\"https:\/\/buyzero.de\/products\/rp2040-microcontroller-chip?_pos=3&amp;_sid=25007eedd&amp;_ss=r\">RP2040-chippet<\/a> separat. Du kan allts\u00e5 hitta RP2040 i andra kort ocks\u00e5, t.ex. ett <a href=\"https:\/\/buyzero.de\/products\/adafruit-feather-rp2040-pink?_pos=2&amp;_sid=25007eedd&amp;_ss=r\">Adafruit Fj\u00e4der<\/a>.<\/p>\n\n\n\n<p>MicroLua paketerar allts\u00e5 Lua f\u00f6r dessa kort. I detta sammanhang integrerar MicroLua den senaste Lua-interpreten (version 5.4) med gr\u00e4nssnitt f\u00f6r <a href=\"https:\/\/github.com\/raspberrypi\/pico-sdk\">Programvaruutvecklingssatsen f\u00f6r Pico<\/a> och inneh\u00e5ller ett kooperativt tr\u00e5dningsbibliotek.<\/p>\n\n\n\n<p>Genom att s\u00e4tta Lua-interpreten tillsammans med Pico-gr\u00e4nssnitten ger MicroLua dig \u00e5tkomst till GPIO-pinnarna och timers. Och jag \u00e4lskar verkligen att Remy har inkluderat ett kooperativt tr\u00e5dningsbibliotek. S\u00e5 om du har en Pico kan du leka med b\u00e5da k\u00e4rnorna.<\/p>\n\n\n\n<p>MicroLua har dessutom st\u00f6d f\u00f6r Fennel, s\u00e5 om du \u00e4lskar Lisp (som jag) kan du fortfarande dra nytta av MicroLua. Vill du anv\u00e4nda ett Lisp-liknande spr\u00e5k med din Raspberry Pi Pico? Remy har just gjort det l\u00f6jligt enkelt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Komma ig\u00e5ng med MicroLua<\/strong><\/h2>\n\n\n\n<p>F\u00f6r att installera MicroLua m\u00e5ste du klona <a href=\"https:\/\/github.com\/MicroLua\/MicroLua\">f\u00f6rvaret<\/a>initiera undermoduler och f\u00f6lj de medf\u00f6ljande bygginstruktionerna.<\/p>\n\n\n\n<p>GitHub har f\u00f6ljande kod som f\u00e5r ig\u00e5ng en testsvit:<\/p>\n\n\n\n<p><\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewbox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"# Configure the location of the Pico SDK. Adjust for your setup.$ export PICO_SDK_PATH=&quot;${HOME}\/pico-sdk&quot;# Clone the repository and initialize submodules.$ git clone https:\/\/github.com\/MicroLua\/MicroLua.git$ cd MicroLua$ git submodule update --init# Connect a Picoprobe to the target, on the UART and optionally on the debug# port. Then view the Picoprobe's UART connection in a separate terminal.# The &quot;term&quot; script uses socat.$ tools\/term \/dev\/ttyACM0# Build the unit tests.$ cmake -s . -B build -DPICO_BOARD=pico$ make -j9 -C build\/lib# Start the target in BOOTSEL mode and flash it with picotool.$ picotool load -v -x build\/lib\/mlua_tests.elf# Alternatively, start the target in BOOTSEL mode and copy to its boot drive.$ cp build\/lib\/mlua_tests.uf2 \/mnt\/RPI-RP2\/\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Kopia\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code data-no-translation=\"\"><span class=\"line\"><span style=\"color: #D8DEE9FF\"># <\/span><span style=\"color: #D8DEE9\">Configure<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">the<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">location<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">of<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">the<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">Pico<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">SDK<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">Adjust<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">for<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">your<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">setup<\/span><span style=\"color: #ECEFF4\">.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">$<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">export<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">PICO_SDK_PATH<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">${HOME}\/pico-sdk<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"># <\/span><span style=\"color: #D8DEE9\">Clone<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">the<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">repository<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">and<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">initialize<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">submodules<\/span><span style=\"color: #ECEFF4\">.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">$<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">git<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">clone<\/span><span style=\"color: #D8DEE9FF\"> https<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #616E88\">\/\/github.com\/MicroLua\/MicroLua.git<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">$<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">cd<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">MicroLua<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">$<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">git<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">submodule<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">update<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">--<\/span><span style=\"color: #D8DEE9\">init<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"># <\/span><span style=\"color: #D8DEE9\">Connect<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">a<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">Picoprobe<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">to<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">the<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">target<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">on<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">the<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">UART<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">and<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">optionally<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">on<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">the<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">debug<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"># <\/span><span style=\"color: #D8DEE9\">port<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">Then<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">view<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">the<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">Picoprobe<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">s UART connection in a separate terminal<\/span><span style=\"color: #D8DEE9\">.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"># <\/span><span style=\"color: #D8DEE9\">The<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">term<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">script<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">uses<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">socat<\/span><span style=\"color: #ECEFF4\">.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">$<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">tools<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9\">term<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9\">dev<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9\">ttyACM0<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"># <\/span><span style=\"color: #D8DEE9\">Build<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">the<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">unit<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">tests<\/span><span style=\"color: #ECEFF4\">.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">$<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">cmake<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">s<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">B<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">build<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">DPICO_BOARD<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9\">pico<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">$<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">make<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">j9<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">C<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">build<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9\">lib<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"># <\/span><span style=\"color: #D8DEE9\">Start<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">the<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">target<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">in<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">BOOTSEL<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">mode<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">and<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">flash<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">it<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">with<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">picotool<\/span><span style=\"color: #ECEFF4\">.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">$<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">picotool<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">load<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">v<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">x<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">build<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9\">lib<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9\">mlua_tests<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">elf<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"># <\/span><span style=\"color: #D8DEE9\">Alternatively<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">start<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">the<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">target<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">in<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">BOOTSEL<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">mode<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">and<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">copy<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">to<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">its<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">boot<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">drive<\/span><span style=\"color: #ECEFF4\">.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">$<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">cp<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">build<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9\">lib<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9\">mlua_tests<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">uf2<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9\">mnt<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9\">RPI<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">RP2<\/span><span style=\"color: #81A1C1\">\/<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p><\/p>\n\n\n\n<p>N\u00e4r du har gjort det \u00e4r du redo att k\u00f6ra.<\/p>\n\n\n\n<p>Jag b\u00f6r n\u00e4mna att Remy har identifierat n\u00e5gra problem med MicroLuas prestanda. F\u00f6rst och fr\u00e4mst det faktum att event dispatch latency \u00e4r relativt l\u00e5ngsam och beh\u00f6ver f\u00f6rb\u00e4ttras.<\/p>\n\n\n\n<p>Dessutom, om du g\u00e5r till <a href=\"https:\/\/github.com\/MicroLua\/MicroLua\/tree\/main\">GitHub-sidan<\/a>har Remy inkluderat en f\u00e4rdplan f\u00f6r saker som ska l\u00e4ggas till, som fler bindningar f\u00f6r Pico SDK, ett filsystem och kommunikation mellan flera chip. Remy vill \u00e4ven f\u00f6rb\u00e4ttra tr\u00e5dningsprestandan, kommunikation mellan k\u00e4rnor och finjustera skr\u00e4psamlaren.<\/p>\n\n\n\n<p>S\u00e5 det h\u00e4r \u00e4r ett projekt som i allra h\u00f6gsta grad \u00e4r levande och v\u00e4rt att h\u00e5lla \u00f6gonen p\u00e5.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" hcb-fetch-image-from=\"https:\/\/www.youtube.com\/shorts\/O90MXajJkkk\" title=\"Ibland \u00e4r det B\u00c4STA Raspberry Pi Pico-projektet det ENKLASTE Raspberry Pi Pico-projektet\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/O90MXajJkkk?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Det lilla programmet i videon skrev jag i MicroPython - men n\u00e4sta g\u00e5ng ska jag anv\u00e4nda Fennel och MicroLua!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Slutsats<\/h2>\n\n\n\n<p>S\u00e5 nu n\u00e4r du har det h\u00e4r kan du s\u00e4tta ig\u00e5ng med ditt n\u00e4sta Pico-projekt. V\u00e4rlden \u00e4r ditt ostron!<\/p>\n\n\n\n<p>Det f\u00f6rsta jag t\u00e4nkte p\u00e5 n\u00e4r jag s\u00e5g det h\u00e4r projektet var <a href=\"https:\/\/github.com\/whitecatboard\/Lua-RTOS-ESP32\/\">Lua RTOS f\u00f6r en ESP32<\/a>. S\u00e5 om du tittar p\u00e5 dina alternativ f\u00f6r Lua med mikrokontroller mer generellt, var noga med att kolla in det projektet ocks\u00e5.<\/p>\n\n\n\n<p>Om du beh\u00f6ver lite inspiration kan du kolla in n\u00e5gra av de Pico-projekt som vi har presenterat:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/picockpit.com\/raspberry-pi\/everything-about-sound-output-using-the-pico-w\/\">Allt om ljud\u00e5tergivning med Pico W<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/picockpit.com\/raspberry-pi\/everything-about-bluetooth-on-the-raspberry-pi-pico-w\/\">Allt om Bluetooth p\u00e5 Raspberry Pi Pico W<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/picockpit.com\/raspberry-pi\/paragon-project-pico-w-security-alarm\/\">Ett Raspberry Pi Pico W s\u00e4kerhetslarm<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/picockpit.com\/raspberry-pi\/paragon-project-raspberry-pi-pico-keyboard\/\">Ett Raspberry Pi Pico-tangentbord<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/picockpit.com\/raspberry-pi\/paragon-project-pico-clock\/\">En Raspberry Pi Pico-klocka<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/picockpit.com\/raspberry-pi\/paragon-project-pico-air-quality-monitor\/\">En Raspberry Pi Pico luftkvalitetsm\u00e4tare<\/a><\/li>\n<\/ul>\n\n\n\n<p>Om du har en Pico W, gl\u00f6m inte att ansluta den till <a href=\"https:\/\/picockpit.com\/\">PiCockpit<\/a>P\u00e5 s\u00e5 s\u00e4tt kan du ansluta till den fr\u00e5n var som helst i v\u00e4rlden via Internet.<\/p>\n\n\n\n<p>Vilka projekt kommer du att skapa med MicroLua? Jag ser verkligen fram emot att anv\u00e4nda Fennel f\u00f6r mitt n\u00e4sta Pico-projekt!<\/p>\n<div class=\"shariff shariff-align-center shariff-widget-align-left shariff-buttonstretch\"><ul class=\"shariff-buttons theme-white orientation-horizontal buttonsize-medium\"><li class=\"shariff-button twitter shariff-nocustomcolor\" style=\"background-color:#595959\"><a href=\"https:\/\/twitter.com\/share?url=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fsv%2Futforska-microlua-lua-programmering-for-rp2040%2F&text=Exploring%20MicroLua%3A%20Lua%20Programming%20for%20RP2040\" title=\"Dela p\u00e5 X\" aria-label=\"Dela p\u00e5 X\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#000; color:#000\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#000\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\"><path fill=\"#000\" d=\"M14.258 10.152L23.176 0h-2.113l-7.747 8.813L7.133 0H0l9.352 13.328L0 23.973h2.113l8.176-9.309 6.531 9.309h7.133zm-2.895 3.293l-.949-1.328L2.875 1.56h3.246l6.086 8.523.945 1.328 7.91 11.078h-3.246zm0 0\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#000\">dela<\/span>&nbsp;<\/a><\/li><li class=\"shariff-button facebook shariff-nocustomcolor\" style=\"background-color:#4273c8\"><a href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fsv%2Futforska-microlua-lua-programmering-for-rp2040%2F\" title=\"Dela p\u00e5 Facebook\" aria-label=\"Dela p\u00e5 Facebook\" role=\"button\" rel=\"nofollow\" class=\"shariff-link\" style=\"; background-color:#3b5998; color:#3b5998\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#3b5998\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 18 32\"><path fill=\"#3b5998\" d=\"M17.1 0.2v4.7h-2.8q-1.5 0-2.1 0.6t-0.5 1.9v3.4h5.2l-0.7 5.3h-4.5v13.6h-5.5v-13.6h-4.5v-5.3h4.5v-3.9q0-3.3 1.9-5.2t5-1.8q2.6 0 4.1 0.2z\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#3b5998\">dela<\/span>&nbsp;<\/a><\/li><li class=\"shariff-button telegram shariff-nocustomcolor\" style=\"background-color:#4084A6\"><a href=\"https:\/\/telegram.me\/share\/url?url=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fsv%2Futforska-microlua-lua-programmering-for-rp2040%2F&text=Exploring%20MicroLua%3A%20Lua%20Programming%20for%20RP2040\" title=\"Dela p\u00e5 Telegram\" aria-label=\"Dela p\u00e5 Telegram\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#0088cc; color:#0088cc\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#0088cc\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 32 32\"><path fill=\"#0088cc\" d=\"M30.8 6.5l-4.5 21.4c-.3 1.5-1.2 1.9-2.5 1.2L16.9 24l-3.3 3.2c-.4.4-.7.7-1.4.7l.5-7L25.5 9.2c.6-.5-.1-.8-.9-.3l-15.8 10L2 16.7c-1.5-.5-1.5-1.5.3-2.2L28.9 4.3c1.3-.5 2.3.3 1.9 2.2z\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#0088cc\">dela<\/span>&nbsp;<\/a><\/li><li class=\"shariff-button reddit shariff-nocustomcolor\" style=\"background-color:#ff5700\"><a href=\"https:\/\/www.reddit.com\/submit?url=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fsv%2Futforska-microlua-lua-programmering-for-rp2040%2F\" title=\"Dela p\u00e5 Reddit\" aria-label=\"Dela p\u00e5 Reddit\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#ff4500; color:#ff4500\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#ff4500\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 512 512\"><path fill=\"#ff4500\" d=\"M440.3 203.5c-15 0-28.2 6.2-37.9 15.9-35.7-24.7-83.8-40.6-137.1-42.3L293 52.3l88.2 19.8c0 21.6 17.6 39.2 39.2 39.2 22 0 39.7-18.1 39.7-39.7s-17.6-39.7-39.7-39.7c-15.4 0-28.7 9.3-35.3 22l-97.4-21.6c-4.9-1.3-9.7 2.2-11 7.1L246.3 177c-52.9 2.2-100.5 18.1-136.3 42.8-9.7-10.1-23.4-16.3-38.4-16.3-55.6 0-73.8 74.6-22.9 100.1-1.8 7.9-2.6 16.3-2.6 24.7 0 83.8 94.4 151.7 210.3 151.7 116.4 0 210.8-67.9 210.8-151.7 0-8.4-.9-17.2-3.1-25.1 49.9-25.6 31.5-99.7-23.8-99.7zM129.4 308.9c0-22 17.6-39.7 39.7-39.7 21.6 0 39.2 17.6 39.2 39.7 0 21.6-17.6 39.2-39.2 39.2-22 .1-39.7-17.6-39.7-39.2zm214.3 93.5c-36.4 36.4-139.1 36.4-175.5 0-4-3.5-4-9.7 0-13.7 3.5-3.5 9.7-3.5 13.2 0 27.8 28.5 120 29 149 0 3.5-3.5 9.7-3.5 13.2 0 4.1 4 4.1 10.2.1 13.7zm-.8-54.2c-21.6 0-39.2-17.6-39.2-39.2 0-22 17.6-39.7 39.2-39.7 22 0 39.7 17.6 39.7 39.7-.1 21.5-17.7 39.2-39.7 39.2z\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#ff4500\">dela<\/span>&nbsp;<\/a><\/li><\/ul><\/div>","protected":false},"excerpt":{"rendered":"<p>Har du n\u00e5gonsin velat f\u00f6rdjupa dig i Lua-programmering och utforska m\u00f6jligheterna med mikrokontrollern RP2040? Titta inte l\u00e4ngre - MicroLua erbjuder en sp\u00e4nnande m\u00f6jlighet att g\u00f6ra just det! I den h\u00e4r artikeln vill jag dyka in i vad MicroLua \u00e4r, hur det fungerar och varf\u00f6r jag tycker att det \u00e4r ett superv\u00e4rdefullt...<\/p>","protected":false},"author":2,"featured_media":5939,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[2151,483,606,2152,2150,597,2149,11,811,221,1864,475,187,909],"class_list":["post-5938","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-raspberry-pi-pico","tag-fennel","tag-language","tag-linux","tag-lisp","tag-lua","tag-microcontroller","tag-microlua","tag-pico","tag-pico-sdk","tag-pico-w","tag-programming","tag-programming-language","tag-raspberry-pi","tag-rp2040"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Exploring MicroLua: Lua Programming for RP2040 | PiCockpit<\/title>\n<meta name=\"description\" content=\"Have you ever wanted to use Lua with an RP2040 microcontroller? MicroLua offers an exciting opportunity to do just that!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/picockpit.com\/raspberry-pi\/sv\/utforska-microlua-lua-programmering-for-rp2040\/\" \/>\n<meta property=\"og:locale\" content=\"sv_SE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Exploring MicroLua: Lua Programming for RP2040 | PiCockpit\" \/>\n<meta property=\"og:description\" content=\"Have you ever wanted to use Lua with an RP2040 microcontroller? MicroLua offers an exciting opportunity to do just that!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/picockpit.com\/raspberry-pi\/sv\/utforska-microlua-lua-programmering-for-rp2040\/\" \/>\n<meta property=\"og:site_name\" content=\"PiCockpit\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/pi3gshop\" \/>\n<meta property=\"article:published_time\" content=\"2023-11-10T09:54:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-11-23T02:07:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/11\/Exploring-MicroLua-for-the-RP2040-Title-Image.png\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"638\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"raspi berry\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@pi3g\" \/>\n<meta name=\"twitter:site\" content=\"@pi3g\" \/>\n<meta name=\"twitter:label1\" content=\"Skriven av\" \/>\n\t<meta name=\"twitter:data1\" content=\"raspi berry\" \/>\n\t<meta name=\"twitter:label2\" content=\"Ber\u00e4knad l\u00e4stid\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minuter\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/exploring-microlua-lua-programming-for-rp2040\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/exploring-microlua-lua-programming-for-rp2040\\\/\"},\"author\":{\"name\":\"raspi berry\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/person\\\/7af3a7a8c999bc722029ef9ca9d78eee\"},\"headline\":\"Exploring MicroLua: Lua Programming for RP2040\",\"datePublished\":\"2023-11-10T09:54:34+00:00\",\"dateModified\":\"2023-11-23T02:07:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/exploring-microlua-lua-programming-for-rp2040\\\/\"},\"wordCount\":745,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/exploring-microlua-lua-programming-for-rp2040\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/Exploring-MicroLua-for-the-RP2040-Title-Image.png\",\"keywords\":[\"Fennel\",\"language\",\"linux\",\"Lisp\",\"Lua\",\"microcontroller\",\"MicroLua\",\"Pico\",\"pico sdk\",\"Pico W\",\"programming\",\"programming language\",\"Raspberry Pi\",\"RP2040\"],\"articleSection\":[\"Raspberry Pi Pico\"],\"inLanguage\":\"sv-SE\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/exploring-microlua-lua-programming-for-rp2040\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/exploring-microlua-lua-programming-for-rp2040\\\/\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/exploring-microlua-lua-programming-for-rp2040\\\/\",\"name\":\"Exploring MicroLua: Lua Programming for RP2040 | PiCockpit\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/exploring-microlua-lua-programming-for-rp2040\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/exploring-microlua-lua-programming-for-rp2040\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/Exploring-MicroLua-for-the-RP2040-Title-Image.png\",\"datePublished\":\"2023-11-10T09:54:34+00:00\",\"dateModified\":\"2023-11-23T02:07:41+00:00\",\"description\":\"Have you ever wanted to use Lua with an RP2040 microcontroller? MicroLua offers an exciting opportunity to do just that!\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/exploring-microlua-lua-programming-for-rp2040\\\/#breadcrumb\"},\"inLanguage\":\"sv-SE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/exploring-microlua-lua-programming-for-rp2040\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/exploring-microlua-lua-programming-for-rp2040\\\/#primaryimage\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/Exploring-MicroLua-for-the-RP2040-Title-Image.png\",\"contentUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/Exploring-MicroLua-for-the-RP2040-Title-Image.png\",\"width\":960,\"height\":638,\"caption\":\"Exploring MicroLua for the RP2040 Title Image\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/exploring-microlua-lua-programming-for-rp2040\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Raspberry Pi Pico\",\"item\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/category\\\/raspberry-pi-pico\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Exploring MicroLua: Lua Programming for RP2040\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#website\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/\",\"name\":\"PiCockpit\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"sv-SE\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#organization\",\"name\":\"PiCockpit.com\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Screenshot-from-2023-07-24-15-01-24.png\",\"contentUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Screenshot-from-2023-07-24-15-01-24.png\",\"width\":1165,\"height\":283,\"caption\":\"PiCockpit.com\"},\"image\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/pi3gshop\",\"https:\\\/\\\/x.com\\\/pi3g\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/person\\\/7af3a7a8c999bc722029ef9ca9d78eee\",\"name\":\"raspi berry\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g\",\"caption\":\"raspi berry\"},\"description\":\"I'm here to help you with all your Raspberry Pi related questions &amp; love to share about new project ideas for the Raspberry Pi, and give quick tips. Of course I'll also help you with PiCockpit and how to make your Raspberry Pi even easier to use with this raspberry pi monitoring solution :-)\",\"sameAs\":[\"https:\\\/\\\/picockpit.com\"],\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/sv\\\/author\\\/raspi-berry\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Utforska MicroLua: Lua-programmering f\u00f6r RP2040 | PiCockpit","description":"Har du n\u00e5gonsin velat anv\u00e4nda Lua med en RP2040 mikrokontroller? MicroLua erbjuder en sp\u00e4nnande m\u00f6jlighet att g\u00f6ra just det!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/picockpit.com\/raspberry-pi\/sv\/utforska-microlua-lua-programmering-for-rp2040\/","og_locale":"sv_SE","og_type":"article","og_title":"Exploring MicroLua: Lua Programming for RP2040 | PiCockpit","og_description":"Have you ever wanted to use Lua with an RP2040 microcontroller? MicroLua offers an exciting opportunity to do just that!","og_url":"https:\/\/picockpit.com\/raspberry-pi\/sv\/utforska-microlua-lua-programmering-for-rp2040\/","og_site_name":"PiCockpit","article_publisher":"https:\/\/www.facebook.com\/pi3gshop","article_published_time":"2023-11-10T09:54:34+00:00","article_modified_time":"2023-11-23T02:07:41+00:00","og_image":[{"width":960,"height":638,"url":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/11\/Exploring-MicroLua-for-the-RP2040-Title-Image.png","type":"image\/png"}],"author":"raspi berry","twitter_card":"summary_large_image","twitter_creator":"@pi3g","twitter_site":"@pi3g","twitter_misc":{"Skriven av":"raspi berry","Ber\u00e4knad l\u00e4stid":"4 minuter"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/picockpit.com\/raspberry-pi\/exploring-microlua-lua-programming-for-rp2040\/#article","isPartOf":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/exploring-microlua-lua-programming-for-rp2040\/"},"author":{"name":"raspi berry","@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/person\/7af3a7a8c999bc722029ef9ca9d78eee"},"headline":"Exploring MicroLua: Lua Programming for RP2040","datePublished":"2023-11-10T09:54:34+00:00","dateModified":"2023-11-23T02:07:41+00:00","mainEntityOfPage":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/exploring-microlua-lua-programming-for-rp2040\/"},"wordCount":745,"commentCount":0,"publisher":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#organization"},"image":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/exploring-microlua-lua-programming-for-rp2040\/#primaryimage"},"thumbnailUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/11\/Exploring-MicroLua-for-the-RP2040-Title-Image.png","keywords":["Fennel","language","linux","Lisp","Lua","microcontroller","MicroLua","Pico","pico sdk","Pico W","programming","programming language","Raspberry Pi","RP2040"],"articleSection":["Raspberry Pi Pico"],"inLanguage":"sv-SE","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/picockpit.com\/raspberry-pi\/exploring-microlua-lua-programming-for-rp2040\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/picockpit.com\/raspberry-pi\/exploring-microlua-lua-programming-for-rp2040\/","url":"https:\/\/picockpit.com\/raspberry-pi\/exploring-microlua-lua-programming-for-rp2040\/","name":"Utforska MicroLua: Lua-programmering f\u00f6r RP2040 | PiCockpit","isPartOf":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#website"},"primaryImageOfPage":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/exploring-microlua-lua-programming-for-rp2040\/#primaryimage"},"image":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/exploring-microlua-lua-programming-for-rp2040\/#primaryimage"},"thumbnailUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/11\/Exploring-MicroLua-for-the-RP2040-Title-Image.png","datePublished":"2023-11-10T09:54:34+00:00","dateModified":"2023-11-23T02:07:41+00:00","description":"Har du n\u00e5gonsin velat anv\u00e4nda Lua med en RP2040 mikrokontroller? MicroLua erbjuder en sp\u00e4nnande m\u00f6jlighet att g\u00f6ra just det!","breadcrumb":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/exploring-microlua-lua-programming-for-rp2040\/#breadcrumb"},"inLanguage":"sv-SE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/picockpit.com\/raspberry-pi\/exploring-microlua-lua-programming-for-rp2040\/"]}]},{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/picockpit.com\/raspberry-pi\/exploring-microlua-lua-programming-for-rp2040\/#primaryimage","url":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/11\/Exploring-MicroLua-for-the-RP2040-Title-Image.png","contentUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/11\/Exploring-MicroLua-for-the-RP2040-Title-Image.png","width":960,"height":638,"caption":"Exploring MicroLua for the RP2040 Title Image"},{"@type":"BreadcrumbList","@id":"https:\/\/picockpit.com\/raspberry-pi\/exploring-microlua-lua-programming-for-rp2040\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/picockpit.com\/raspberry-pi\/"},{"@type":"ListItem","position":2,"name":"Raspberry Pi Pico","item":"https:\/\/picockpit.com\/raspberry-pi\/category\/raspberry-pi-pico\/"},{"@type":"ListItem","position":3,"name":"Exploring MicroLua: Lua Programming for RP2040"}]},{"@type":"WebSite","@id":"https:\/\/picockpit.com\/raspberry-pi\/#website","url":"https:\/\/picockpit.com\/raspberry-pi\/","name":"PiCockpit","description":"","publisher":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/picockpit.com\/raspberry-pi\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"sv-SE"},{"@type":"Organization","@id":"https:\/\/picockpit.com\/raspberry-pi\/#organization","name":"PiCockpit.com","url":"https:\/\/picockpit.com\/raspberry-pi\/","logo":{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/logo\/image\/","url":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-24-15-01-24.png","contentUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-24-15-01-24.png","width":1165,"height":283,"caption":"PiCockpit.com"},"image":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/pi3gshop","https:\/\/x.com\/pi3g"]},{"@type":"Person","@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/person\/7af3a7a8c999bc722029ef9ca9d78eee","name":"hallonb\u00e4r","image":{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/secure.gravatar.com\/avatar\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g","caption":"raspi berry"},"description":"Jag \u00e4r h\u00e4r f\u00f6r att hj\u00e4lpa dig med alla dina Raspberry Pi-relaterade fr\u00e5gor och \u00e4lskar att dela med mig av nya projektid\u00e9er f\u00f6r Raspberry Pi och ge snabba tips. Sj\u00e4lvklart hj\u00e4lper jag dig ocks\u00e5 med PiCockpit och hur du kan g\u00f6ra din Raspberry Pi \u00e4nnu enklare att anv\u00e4nda med denna l\u00f6sning f\u00f6r \u00f6vervakning av Raspberry Pi :-)","sameAs":["https:\/\/picockpit.com"],"url":"https:\/\/picockpit.com\/raspberry-pi\/sv\/author\/raspi-berry\/"}]}},"_links":{"self":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/posts\/5938","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/comments?post=5938"}],"version-history":[{"count":7,"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/posts\/5938\/revisions"}],"predecessor-version":[{"id":5948,"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/posts\/5938\/revisions\/5948"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/media\/5939"}],"wp:attachment":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/media?parent=5938"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/categories?post=5938"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/tags?post=5938"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}