thalhammer / simcom_dam Goto Github PK
View Code? Open in Web Editor NEWExamples for simcoms downloadable modules (Qualcomm SoC)
Examples for simcoms downloadable modules (Qualcomm SoC)
I'm working on a school project using SIM7000E and i'm exploring the DAM.
I was going through uart.c code and my mind blocked on this piece of code, if someone could explain me(im fairly new around here), i would apreciate it very much.
Here is the code(in file uart.c, uart_init() function, Lines 61 to 64):
uart_context_t mctx = (uart_context_t)cfg->buf;
mctx->sendbuf = (char*)cfg->buf + sizeof(struct uart_context_s);
mctx->send_buf_len = cfg->buf_len - sizeof(struct uart_context_s);
mctx->is_off = false;
Have you seen this page by any chance? It seems to provide instructions for using Qualcomm's Snapdragon LLVM ARM compiler toolchain to build DAM apps.
https://github.com/Azure/azure-iot-device-ecosystem/blob/master/get_started/threadx-os-mdm920x-c.md
For some reason I don't know yet, the builds produced by GCC do not work.
They compile fine and a quick inspection of the generated file shows no obvious problems and yet when one tries to use it the module gets bricked and a hard reset is required (which makes trial and error debugging quite a challenge).
However, the problem is definitely not with objcopy since when used with the elf generated using armcc it generates exactly the same result as fromelf (md5sum match).
So there must be something wrong with the generated code.
Can't validate linking since the object files generated by armcc don't work with normal ld.
Hi,
Can you make binaries for Windows and Linux APP uploader?
First of all, thank you for your amazing work!
The issue:
When I try to use the qapi_Timer_Sleep function from the qapi_timer.h, the module never comes back if I use other time units than QAPI_TIMER_UNIT_TICK.
Here is my code (That does not work unless I use the QAPI_TIMER_UNIT_TICK):
#include "qapi.h"
#include "qapi_timer.h"
#include "app_uart.h"
int dam_app_start(void)
{
uart_dbg_init(); /* Uart setup. */
qapi_Timer_Sleep(1, QAPI_TIMER_UNIT_USEC, true);
UART_DBG("Module running\n\r");
return 0;
}
qapi_GPIO_ID_t gpio_id = 0;
qapi_TLMM_Config_t tlmm_config;
qapi_Status_t status = QAPI_OK;
memset(&tlmm_config, 0, sizeof(tlmm_config));
tlmm_config.pin = 8; // Pin 11 is GPIO3
tlmm_config.func = 0;
tlmm_config.dir = QAPI_GPIO_INPUT_E;
tlmm_config.pull = QAPI_GPIO_PULL_UP_E;
tlmm_config.drive = QAPI_GPIO_2MA_E;
status = qapi_TLMM_Get_Gpio_ID( &tlmm_config, &gpio_id);
if (status == QAPI_OK) {
status = qapi_TLMM_Config_Gpio(gpio_id, &tlmm_config);
}
In armcc everything works fine, but gcc somehow modifies the first byte/word of tlmm_config in the call to qapi_TLMM_Get_Gpio_ID and writes a zero there, causing the consecutive call to qapi_TLMM_Config_Gpio to fail with ERR_INVALID_PARAM. I don't know why this happens only in gcc.
This is a tracking issue to gather ideas until I figured this out.
Hi,
When I use QAPI_UART_PORT_003_E for UART interface init, where can I see the output. Can you please help with this very basic.
I am trying to use this package to check if could program the SIM7000,
after struggling for couple of days here there I got everything running but last step :
make upload - Bad Command.
Using:
linux Ubuntu 18.4.1
QMake version 3.1; using QT version 5.11.1 /opt/qt5/lib(i build it)
UPLOAD_DEV=dev/ttyUSB0
ls /dev/ttyUSB* : /devUSB0 /devUSB0 /devUSB1 /devUSB2 /devUSB3 /devUSB4
lsusb : Bus 001 Device 003 ID 1e0e:9001 Qualcomm / Option
copied serial library to project directory
i don't know what else i am missing
Is the location example supposed to work out-of-the-box? I noticed that my location tracking callback never gets called, unless I manually enable GNSS/GPS with AT+CGNSPWR=1
. Is that the same behavior you're seeing?
As anyone been successful using TLS on mqtt?
When calling qapi_Timer_Undef the syscall to undefine the timer fails with ERR_GENERAL, causing the dealloc to never get executed, which results in a memory leak.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.