Skip to content

Conversation

trickkkkkkkk
Copy link

Summary

This PR adds a new quectel port with support for quectel product; https://developer.quectel.com/en/

Supported features of this port:

  • REPL (Python prompt) over usb.
  • filesystem.
  • The machine module with GPIO, UART, SPI, ADC, WDT and Timer.
  • The network module with 4G modem support.

Supported boards:

  • Covers most of Quectel cellular modules.

General notes about the port:

  • it uses make, similar to other ports here.
  • the toolchain is the standard arm-none-eabi- toolchain.
  • This has been adapted for use since version 1.13, and may have accumulated some differences from the latest version.
  • new featue celluar network.

Testing

Extensive testing has been done during development over the past several years.

@robert-hh
Copy link
Contributor

Hello @trickkkkkkkk, thank you for the remibńder, I have seen the PR, but did not find the time yet to try it. Will do. Did you get any response from Damien George at Micropython?

@trickkkkkkkk
Copy link
Author

Hi @robert-hh , thank you for your reply. We have not received any response from Damien George yet. Could you help us get in touch with Damien George and assist with merging the code into MicroPython?

@robert-hh
Copy link
Contributor

I tried to build the firmware and the image but failed. A few notes about it:

  • It looks uncommon to required the micropython directory be a subdirectory of the Helios SDK. both paths should/must be independent. The Helios SDK should be aside the Micropython directory, just like it's done e.g. with the ESP32 IDF, and the two should be linked by a environment setting , e.g. HELIOS_SDK_PATH.
  • I tried to follow the instructions in the port's README.md file for a Linux environment. But the helios command required to bind the final firmware was not installed.
  • Also, it was not clear to me if for firmware building the SDK source code is required. The latter seams to need an additional manual interaction by Quectel.

@robert-hh
Copy link
Contributor

Spliting the MicroPyhton path and Helios SDK path was for building as simple as setting ROOT in Makefile to the proper location:

ifneq ($(HELIOS_SDK_PATH),)
ROOT := $(HELIOS_SDK_PATH)
else
ROOT := $(TOP)/../..
endif

Have to carry on looking for the helios command.

@robert-hh
Copy link
Contributor

Finally I managed to build the firmware, upload it to the board and get a REPL prompt. The link in READE.md to the flash instructions is wrong. It should be https://developer.quectel.com/doc/quecpython/Getting_started/en/4G/flash_firmware.html. Also, the Getting started manual is Windows focused. With Linux, names are different. E.g. the USB port to get a REPL is /dev/ttyUSB6 on my Linux machine.
But there are still many differences to the actual MicroPython API. At least the common modules should behave identical.

@trickkkkkkkk
Copy link
Author

Hi @robert-hh ,

Thank you for your careful review. The current PR is based on version 1.13. Due to a long period without synchronization with MicroPython, there are some differences between our codebase and the main project.

The code interfaces and adaptation methods we are submitting follow the guidelines described in the QuecPython wiki. This adaptation is essentially based on our previous effort to upgrade the MicroPython kernel to the latest version.

We hope to keep our code aligned with MicroPython in the future, but this will require considerable work. Ideally, we would like to explore closer collaboration, with the MicroPython team leading the adaptation efforts. We believe this approach would help Quectel products integrate more seamlessly into the MicroPython project.

Therefore, we are awaiting feedback from the MicroPython team before making further plans.

Thank you again for your attention and support.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants