Good morning everyone. App Lab 0.2.0 doesn't load the modulino.h library

I have some Modulino family I2C modules in my lab.
App Lab 0.2.0 finds the library, but doesn't install it. I've tried other libraries, and they seem to install. For example, I successfully installed the Adafruit GPS Library to use I2C GPS, and this library was installed.

And anyway when I try to compile it gives me the following error:

The library MsgPack has been automatically added from sketch project.
/home/arduino/.arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld: /home/arduino/ArduinoApps/a/.cache/sketch/libraries/Adafruit GPS Library/NMEA_data.cpp.o: in function `Adafruit_GPS::boatAngle(float, float)':
/home/arduino/.arduino15/internal/Adafruit_GPS_Library_1.7.5_c50db2d7ae65efd0/Adafruit GPS Library/src/NMEA_data.cpp:539: undefined reference to `asin'
/home/arduino/.arduino15/packages/zephyr/tools/arm-zephyr-eabi/0.16.8/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld: /home/arduino/.arduino15/internal/Adafruit_GPS_Library_1.7.5_c50db2d7ae65efd0/Adafruit GPS Library/src/NMEA_data.cpp:539: undefined reference to `acos'
collect2: error: ld returned 1 exit status
exit status 1

In my opinion we are not 100% compatible with the standard Arduino libraries.

1 Like

Same here. And no error message. The button shows "installing" for 2 seconds and then return to "install".

Is there any other way to install a library?

1 Like

Good morning.
Does anyone know how to help us?
I bought the modulino modules thinking that Arduino on Arduino was the best solution.
An alternative system for installing the libraries is also fine.

@erio75 could you share le app.yaml file of your app?

@erio75 thanks for spotting this, we found the root cause and the fix is ongoing here fix: add all missing math.h functions by facchinm · Pull Request #244 · arduino/ArduinoCore-zephyr · GitHub . You’ll receive an update on the unoq directly as soon as we publish the core :slightly_smiling_face:

1 Like

Good evening.
Here's the app.yaml file:

# app.yaml: The main configuration file for your Arduino App.
# This file describes the application's metadata and properties.

# The user-visible name of the application.
name: a

# A brief description of what the application does.
description: ""

# The icon for the application, can be an emoji or a short string.
icon: 😀

# A list of network ports that the application exposes.
# Example: [80, 443]
ports: []

# A list of bricks used by this application.
bricks: []

I tried the example: Home Climate Monitoring.
This one loads Modulono 5.0 and it works, it also compiles the library.
And I read the data from the thermo module.

Nice idea. Thanks for that. Now I have to figure out, how to get the Serial Console to work...pioneering spirit required.

If you get stuck, just let us know. There are some potential complications.

Thanks. I think I'm in the middle of that. :slight_smile: But that's ok, new concept, new ways of working.

1 Like

Ok, it was not the serial console (that' working), it's the qwic-connected tof-sensor that does not respond.

Maybe the Modulino 0.5.0-hack is not appropriate for that combination.....nothing that will be solved today

Recently, the Modulino library was renamed Arduino_Modulino (see Update name of "Arduino_Modulino" by per1234 · Pull Request #7119 · arduino/library-registry · GitHub). The library Modulino no longer exists, and it is called Arduino_Modulino.

To solve the issue, you need to install the Arduino_Modulino (and remove the Modulino) library.

You can install it by following the instructions below:

  • Open the App with Arduino AppLab
  • Click on the “add library” button in the libraries section on the left
  • Type Arduino modulino in the input box
  • Click install button (version 0.6.1).
  • Start the App

NOTE: For a missing feature, it is not possible to remove the old Modulino entry from the sketch.yaml file using the ArduinoAppLab.
For doing this, you could use adb or ssh (https://docs.arduino.cc/tutorials/uno-q/ssh/) and remove manually the - Modulino (0.5.0) line from the sketch.yaml

The expected sketch.yaml should be as follows:

profiles:
default:
fqbn: arduino:zephyr:unoq
platforms:
- platform: arduino:zephyr
libraries:
- MsgPack (0.4.2)
- DebugLog (0.8.4)
- ArxContainer (0.7.0)
- ArxTypeTraits (0.3.1)
- Arduino_Modulino (0.6.1)
- Arduino_HS300x (1.0.0)
- Arduino_LPS22HB (1.0.2)
- Arduino_LSM6DSOX (1.1.2)
- STM32duino VL53L4CD (1.0.5)
- STM32duino VL53L4ED (1.0.1)


default_profile: default
1 Like

To be sure, I created a new program.
I searched for the library in the libraries and clicked the install button. As before, it seems to load, but then it doesn't appear to be included in the sketch.yami file.

profiles:
  default:
    fqbn: arduino:zephyr:unoq
    platforms:
      - platform: arduino:zephyr
    libraries:
      - MsgPack (0.4.2)
      - DebugLog (0.8.4)
      - ArxContainer (0.7.0)
      - ArxTypeTraits (0.3.1)
default_profile: default

I'm sorry to cause any trouble, but I just can't use the modulino modules. If I go to SBC, can I manually install the libraries?

Yes, even if not recommended, you could manually edit the sketch.yaml.

You can find your apps in the /home/arduino/ArduinoApps/<your-app>/ location.

Just stop the app, open the /home/arduino/ArduinoApps/<your-app>/sketch/sketch.yaml file with a file editor and add the line - Arduino_Modulino (0.6.1)

you may add also other deps manually

  • Arduino_HS300x (1.0.0)
  • Arduino_LPS22HB (1.0.2)
  • Arduino_LSM6DSOX (1.1.2)

This is the expected result:

profiles:
  default:
    fqbn: arduino:zephyr:unoq
    platforms:
      - platform: arduino:zephyr
    libraries:
      - MsgPack (0.4.2)
      - DebugLog (0.8.4)
      - ArxContainer (0.7.0)
      - ArxTypeTraits (0.3.1)
      - Arduino_Modulino (0.6.1)
default_profile: default

Thanks for the explanation.

But this library does not install, same as with the old Modulino lib.

When you click on "install", the circle appears for 2 seconds and the button changes back to "install" again.

My sketch.yaml looks like your example

When I click on run:

Sketch profile configured: FQBN="arduino:zephyr:unoq", Port=""
Task Downloading library Arduino_Modulino@0.6.1: 0.00%
Task Library Arduino_Modulino@0.6.1 not found: 0.00%
Error: code:9 message:"Library 'Arduino_Modulino' not found"

Tried with and without underscore between "Arduino" and "Modulino".

Any hint on manually fetching the lib is appreciated.

And the most annoying part:

https://downloads.arduino.cc/libraries/github.com/arduino-libraries/Arduino_Modulino-0.6.1.zip

exists and can be downloaded with the browser...

Is there a more verbose mode or a log that could help you in figuring out what's wrong here?

Maybe I'm too old for this....but: why?

ll
total 120
drwxr-xr-x 2 arduino arduino  4096 29. Okt 09:08 ./
drwxr-xr-x 5 arduino arduino  4096 29. Okt 09:08 ../
-rw-r--r-- 1 arduino arduino    22 29. Okt 09:08 Arduino_Modulino.h
-rw-r--r-- 1 arduino arduino   879 29. Okt 09:08 Modulino.cpp
-rw-r--r-- 1 arduino arduino 14101 29. Okt 09:08 Modulino.h
-rw-r--r-- 1 arduino arduino 89278 29. Okt 09:08 fw.h
arduino@FirstQ:~/Arduino_Modulino-0.6.1/src$ cat Arduino_Modulino.h 
#include "Modulino.h"

Could you try to run this command from a terminal inside the board?

arduino-cli lib update-index

and then try again to run the app (with the Arduino_modulino (0.6.1) into the sketch.yaml).

Nice, now it downloads the 0.6.1 lib...thanks.

Do I have to include that command in my update routine?