{"id":12341,"date":"2025-11-03T14:34:10","date_gmt":"2025-11-03T13:34:10","guid":{"rendered":"https:\/\/dronesonen.usn.no\/?p=12341"},"modified":"2025-11-03T14:34:10","modified_gmt":"2025-11-03T13:34:10","slug":"week-11","status":"publish","type":"post","link":"https:\/\/dronesonen.usn.no\/?p=12341","title":{"rendered":"Week 11"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Wang<\/h2>\n\n\n\n<p>This week I have continued working on the joystick for micro:bit. I still haven&#8217;t received the controller\/joystick we will use, hopefully it will come next week. What I have done this week is mostly tried to continue working on the joystick code in zephyr. I had some problems that I haven&#8217;t quite figured out, but I think it&#8217;s in CmakeListen that it pointed to the wrong path, but it has now been fixed. Since Oske uses zephyr version 2.5.1, I tried to download it to get Bluetooth to work there because now I am on version 3.1.1. Since I don&#8217;t have the controller yet, I have tried to control a diode via the joystick. Since it is about the same as what the controller is supposed to do, only it will control a car. I haven&#8217;t managed to do it yet because I have struggled a bit with getting errors around this code.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>static const struct gipio_dt_spec = GPIO_DT_SPEC_GET(DT_NODELABEL(test_led), gpios);<\/code><\/pre>\n\n\n\n<p>It was suspected that the error may come from something in the designtree being changed because of the example code that I use for bluetooth but I&#8217;m not sure.<\/p>\n\n\n\n<p>So now I&#8217;m making a new code without bluetooth where my goal is to get a led diode to blink based on how much on the x or y axis I move the joystick. I&#8217;m building it now on 2.5.1 and using Oskaras&#8217; code as a start for the joystick.<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/OskeLTU\/Zephyr_code\">https:\/\/github.com\/OskeLTU\/Zephyr_code<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Oskaras<\/h2>\n\n\n\n<p>This week i had the mission of setting up the pwm controls for the car. I started working on the setup i hade before but only actually using the pwm signals. In the overlay file i hade them setup as Inverted, meaning when they were low than the power was HIGH. I went on working for a long time on a flawed attempt since only later i found out that you can\u2019t mix methods of use.<\/p>\n\n\n\n<p>Explanation: When i started working on the pwm i set it up using dt spec. the same way that i set up the gpio pins. the only problem is that if you chose to \u201cbind\u201d the nodes in that manner you are then locking yourself to specific functions for pwm control something that i wasn\u2019t aware of at the time.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"694\" height=\"149\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-12.png\" alt=\"\" class=\"wp-image-12400\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-12.png 694w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-12-300x64.png 300w\" sizes=\"auto, (max-width: 694px) 100vw, 694px\" \/><\/figure>\n\n\n\n<p>this is the function i tried to use, since i saw some examples of using this.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"435\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-13.png\" alt=\"\" class=\"wp-image-12401\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-13.png 640w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-13-300x204.png 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure>\n\n\n\n<p>and this is what i needed to use. as you can se they are fundamentally the same since the pwm_set_dt even uses pwm_set function. but i tried to use it without converting the specs to readable variables for the function hence it did not work. Now my pwm pins are set completely different and using binding instead of dt_spec. and now i use pwm_set and it works. The pwm.c file has helper functions for the pwm so that i don&#8217;t have to write out the whole thing each time i want to use it. in the future i want to streamline this even more where i can specify what device i want in the function as well since now i have 4 different ones for the pins.<\/p>\n\n\n\n<p>pwm testing with the led:<a href=\"https:\/\/youtu.be\/JHrK39vtiVQ\">https:\/\/youtu.be\/JHrK39vtiVQ<\/a><\/p>\n\n\n\n<p>the explanation for the test is in the video so please watch it.<\/p>\n\n\n\n<p>and the applied pwm to the car is here: <a href=\"https:\/\/youtu.be\/MBZ3YuX8j8I\">https:\/\/youtu.be\/MBZ3YuX8j8I<\/a><\/p>\n\n\n\n<p>Here is the last commit that merged into the main tree from the pwm testing there you will see everything that was changed: <a href=\"https:\/\/github.com\/OskeLTU\/Zephyr_code\/commit\/f467490e13eb1676462097c2d4cfea3f8ed0b3f1\">https:\/\/github.com\/OskeLTU\/Zephyr_code\/commit\/f467490e13eb1676462097c2d4cfea3f8ed0b3f1<\/a><\/p>\n\n\n\n<p>Another thing that was very difficult was the pin setup. since only later on i found out that the pwm peripheral has 4 channels to them so i could have used only one. and in addition to that i found out that not all pins support pwm functions. so that is why i routed the pwm pins to the first four and changed the gpio pins accordingly.<\/p>\n\n\n\n<p>discussing some functions:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"504\" height=\"315\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-14.png\" alt=\"\" class=\"wp-image-12402\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-14.png 504w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-14-300x188.png 300w\" sizes=\"auto, (max-width: 504px) 100vw, 504px\" \/><\/figure>\n\n\n\n<p>This could be made a lot simpler by just passing the device pointer as a variable and sending it further to the pwm_set function, but it\u2019s the same block of code. The only downside with mine now is that if i want another pwm signal i have to write out another function<\/p>\n\n\n\n<p>the binding:<\/p>\n\n\n\n<p>this is the old method:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"113\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-15-1024x113.png\" alt=\"\" class=\"wp-image-12403\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-15-1024x113.png 1024w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-15-300x33.png 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-15-768x85.png 768w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-15.png 1043w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>and this is the new method:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"844\" height=\"372\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-16.png\" alt=\"\" class=\"wp-image-12404\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-16.png 844w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-16-300x132.png 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-16-768x339.png 768w\" sizes=\"auto, (max-width: 844px) 100vw, 844px\" \/><\/figure>\n\n\n\n<p>so the biggest difference is that when i call the function pwm_begin i initialize the pwm connections. in the old method they are initialized at runtime. i will keep the new method since it works.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00d8ivind<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"328\" height=\"581\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-17.png\" alt=\"\" class=\"wp-image-12410\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-17.png 328w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-17-169x300.png 169w\" sizes=\"auto, (max-width: 328px) 100vw, 328px\" \/><\/figure>\n\n\n\n<p>When I need a break from digesting heavy theory, it\u2019s nice to sit down and relax, weigh things in my hand, screwing and unscrewing just to get the physical aspect of what I do. So, by creating something that is by far a good choice, often in error I can find the solution. I appreciate this project by the combination of a physical object that I can see come alive through logic from the electronic and mechanical parts merge.<\/p>\n\n\n\n<p>The servos steer clear of the wheels!<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"533\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-1.jpeg\" alt=\"\" class=\"wp-image-12407\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-1.jpeg 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-1-169x300.jpeg 169w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"533\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-2.jpeg\" alt=\"\" class=\"wp-image-12408\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-2.jpeg 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-2-169x300.jpeg 169w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/figure>\n\n\n\n<p>Drill-bits for the drill-rig. One part is MIA and adds to the stress.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Today I whipped out the fine China! Brand new soldering iron, which before I do anything else I have to prepare and test before I dive into soldering on components I need. I started desoldering a couple of capacitors and will go on to the BMS when I feel safe with the new iron.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"297\" height=\"468\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-4.jpeg\" alt=\"\" class=\"wp-image-12409\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-4.jpeg 297w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-4-190x300.jpeg 190w\" sizes=\"auto, (max-width: 297px) 100vw, 297px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"265\" height=\"470\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-3.jpeg\" alt=\"\" class=\"wp-image-12411\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-3.jpeg 265w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-3-169x300.jpeg 169w\" sizes=\"auto, (max-width: 265px) 100vw, 265px\" \/><\/figure>\n\n\n\n<p><strong>The test solder went better than expected. Beginners luck, maybe? YouTube, absolutely!<\/strong> <img loading=\"lazy\" decoding=\"async\" width=\"197\" height=\"351\" src=\"https:\/\/dronesonen.usn.no\/c342c626-3f2f-4c64-b116-3688089a6ab7\" alt=\"Et bilde som inneholder Elektrisk kobling, Elektronteknikk, kabel, krets\n\nKI-generert innhold kan v\u00e6re feil.\"><\/p>\n\n\n\n<p>It was beginner\u2019s luck. 1,5 days went into a lot of work, but almost no progress apart from learning, and on Friday I\u2019m back where I started Tuesday. Well, almost back to the very beginning to be honest, but got help from Wang, a fellow member of our group. He had soldered some of the exact parts I\u2019m using and gave good advice. Thank you!<\/p>\n\n\n\n<p>Off to school to meet up with the group!<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"255\" height=\"453\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-5.jpeg\" alt=\"\" class=\"wp-image-12406\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-5.jpeg 255w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-5-169x300.jpeg 169w\" sizes=\"auto, (max-width: 255px) 100vw, 255px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"255\" height=\"455\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-6.jpeg\" alt=\"\" class=\"wp-image-12413\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-6.jpeg 255w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-6-168x300.jpeg 168w\" sizes=\"auto, (max-width: 255px) 100vw, 255px\" \/><\/figure>\n\n\n\n<p>I finally visited Richard and tried to explain my plans. I left with my dreams broken, advice and new ideas. At least I still have a clear path but will scrap many ideas I personally think is good because the main priority is to make this happen (the Rover that is). Richard showed me ways to handle obstacles regarding building the car I did not see at an earlier stage and hence, had not considered. I guess Richard has solved a problem or two before. Servos are now picked off the Rover, and I do not know where to start again.<\/p>\n\n\n\n<p>I\u2019m not sure if I\u2019ll make it to Christmas since all the setbacks and new iterations are taking a toll on my mental and physical health. Anyways, Happy Halloween! <img loading=\"lazy\" decoding=\"async\" width=\"536\" height=\"302\" src=\"https:\/\/dronesonen.usn.no\/50941e87-80b6-4572-828b-6702611e66e1\" alt=\"Et bilde som inneholder innend\u00f8rs, person, vegg, kl\u00e6r\n\nKI-generert innhold kan v\u00e6re feil.\"><\/p>\n\n\n\n<p>Stubborn wires and connectors:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"561\" height=\"316\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-7.jpeg\" alt=\"\" class=\"wp-image-12412\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-7.jpeg 561w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-7-300x169.jpeg 300w\" sizes=\"auto, (max-width: 561px) 100vw, 561px\" \/><\/figure>\n\n\n\n<p><a href=\"https:\/\/player.vimeo.com\/video\/1133039937?app_id=122963\"><\/a>No one got hurt in the filming, except my self-esteem.<\/p>\n\n\n\n<p>Monday morning, I need to tidy up my workspace and grow some discipline to focus on one thing at a time. Nothing is going as planned and it is frustrating.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"218\" height=\"352\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-8.jpeg\" alt=\"\" class=\"wp-image-12414\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-8.jpeg 218w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-8-186x300.jpeg 186w\" sizes=\"auto, (max-width: 218px) 100vw, 218px\" \/><\/figure>\n\n\n\n<p>So, after cleaning the clutter, I need to finish off all half-finished parts and start with the drawings of new ideas Richard embedded in my head.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Zardasht<\/h2>\n\n\n\n<p>This week, I focused on establishing serial communication between a Raspberry Pi 4 and an Arduino board. The goal was to send sensor data\u2014specifically distance measurements\u2014from the Pi to the Arduino as a test for our upcoming project.<\/p>\n\n\n\n<p>I used an ultrasonic sensor connected to the Pi and wrote a Python script to measure distance and transmit the values via the UART interface. On the Arduino side, I created a simple sketch to receive and print the incoming data.<\/p>\n\n\n\n<p>After some debugging with baud rates and wiring, the communication worked reliably. This test helps ensure that our system can handle real-time data transfer between devices.<\/p>\n\n\n\n<p>If everything continues to work as expected, I plan to expand this setup to the microcontroller we\u2019ll use in the final version of our project.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"346\" height=\"412\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-18.png\" alt=\"\" class=\"wp-image-12415\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-18.png 346w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-18-252x300.png 252w\" sizes=\"auto, (max-width: 346px) 100vw, 346px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"215\" height=\"411\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-19.png\" alt=\"\" class=\"wp-image-12416\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-19.png 215w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-19-157x300.png 157w\" sizes=\"auto, (max-width: 215px) 100vw, 215px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/575835966_25714369298155951_7008428704246966347_n.mp4\"><\/video><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Henning<\/h2>\n\n\n\n<p>So as i mentioned, last week i stopped with the focus on the drawing of mazes as it became a struggle. I changed my focus towards the memory for the AI and i succeeded. The picture bellow shows that every time i open the AI chat window it shows a message saying &#8220;Loaded previous memory&#8221;. This means that all the chats and messages between me and the AI is being stored in an empty array which will continue to expand, but simply it holds all information shared between us.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"717\" height=\"470\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-20.png\" alt=\"\" class=\"wp-image-12418\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-20.png 717w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-20-300x197.png 300w\" sizes=\"auto, (max-width: 717px) 100vw, 717px\" \/><\/figure>\n\n\n\n<p>The next picture illustrates just how well it works. Even tho its somewhat out of context, but i told the AI my name, and simply asked it if global warming is real. Yeah&#8230; odd question, but it was all to simply test if it worked.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"703\" height=\"736\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-21.png\" alt=\"\" class=\"wp-image-12419\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-21.png 703w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-21-287x300.png 287w\" sizes=\"auto, (max-width: 703px) 100vw, 703px\" \/><\/figure>\n\n\n\n<p>So on that note, really happy with my progress so far. Now all i have left is to make the Ai draw the mazes correctly, and make some easy code so i can connect easily to a Raspberry Pi, or any other sort of connection point. I want the AI to be easily accessible from other sources too as it can provide more solid in case there would be a problem with the Rasp Pi.<\/p>\n\n\n\n<p>For code reference to the memory of the AI:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"420\" height=\"24\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-22.png\" alt=\"\" class=\"wp-image-12420\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-22.png 420w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-22-300x17.png 300w\" sizes=\"auto, (max-width: 420px) 100vw, 420px\" \/><figcaption class=\"wp-element-caption\">Array called &#8220;conversationHistory&#8221; in my header file<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"910\" height=\"304\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-23.png\" alt=\"\" class=\"wp-image-12421\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-23.png 910w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-23-300x100.png 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-23-768x257.png 768w\" sizes=\"auto, (max-width: 910px) 100vw, 910px\" \/><figcaption class=\"wp-element-caption\">Added the conversationHistory to my constructor in the CPP file. <\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"922\" height=\"695\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-24.png\" alt=\"\" class=\"wp-image-12422\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-24.png 922w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-24-300x226.png 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-24-768x579.png 768w\" sizes=\"auto, (max-width: 922px) 100vw, 922px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"836\" height=\"591\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-25.png\" alt=\"\" class=\"wp-image-12423\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-25.png 836w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-25-300x212.png 300w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-25-768x543.png 768w\" sizes=\"auto, (max-width: 836px) 100vw, 836px\" \/><\/figure>\n\n\n\n<p>Changed the postChat function. Had to simply rearrange the code and add a few lines. A good note to this is specifically the &#8220;conversationHistory.size&#8221;. As per now, i have set a limit to the storage to 20 messages stored. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"526\" height=\"153\" src=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-26.png\" alt=\"\" class=\"wp-image-12424\" srcset=\"https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-26.png 526w, https:\/\/dronesonen.usn.no\/wp-content\/uploads\/2025\/11\/image-26-300x87.png 300w\" sizes=\"auto, (max-width: 526px) 100vw, 526px\" \/><\/figure>\n\n\n\n<p>Lastly i did a small tweak on my &#8220;sendCurrentInput&#8221; function. I removed the append function which originally was in here. But as the &#8220;postChat&#8221; function shown above now does that job for us. Its not needed in this function.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wang This week I have continued working on the joystick for micro:bit. I still haven&#8217;t received the controller\/joystick we will use, hopefully it will come next week. What I have done this week is mostly tried to continue working on the joystick code in zephyr. I had some problems that I haven&#8217;t quite figured out, [&hellip;]<\/p>\n","protected":false},"author":117,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-12341","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/12341","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/users\/117"}],"replies":[{"embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=12341"}],"version-history":[{"count":3,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/12341\/revisions"}],"predecessor-version":[{"id":12425,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/12341\/revisions\/12425"}],"wp:attachment":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=12341"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=12341"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=12341"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}