Dev.setBand(8); // 900 Mhz
4.5 seconds
Ok,
I installed Platformio,
than I restored BC66R01A07
and I compiled and upload the code attached.
#include <Arduino.h>
#include “custom_feature_def.h”
#include “ql_type.h”
#include “ql_stdlib.h”
#include “ql_uart.h”
#include “ril.h”
char cmd_1[] = “AT+QCGDEFCONT=IP,nbiot.tids.tim.it”;
char cmd_2[] = “AT+QSPCHSC=1”;
void CB_UART_Hdlr(Enum_SerialPort port, Enum_UARTEventType msg, bool level, void* customizedPara){}
char DBG_BUFFER[512];
#define DBG(FORMAT,…) {
Ql_memset(DBG_BUFFER, 0, 512);
Ql_sprintf(DBG_BUFFER, FORMAT, ##VA_ARGS);
Ql_UART_Write(UART_PORT0, (u8*)DBG_BUFFER, Ql_strlen(DBG_BUFFER));
}
void setup(){
int t = millis();
String imei, mcc_mnc, sim_imsi, sim_iccid, uid;
int ret = Ql_UART_Register(UART_PORT0, CB_UART_Hdlr, NULL);
Ql_UART_Open(UART_PORT0, 115200, FC_NONE);
Ql_RIL_Initialize();
if (( ret = Ql_RIL_SendATCmd(cmd_1, Ql_strlen(cmd_1), NULL, NULL, 300) )) {
DBG("[ERROR] EPORT = %d\n", ret);
}
if (( ret = Ql_RIL_SendATCmd(cmd_2, Ql_strlen(cmd_1), NULL, NULL, 300) )) {
DBG("[ERROR] EPORT = %d\n", ret);
}
Dev.noSleep(); // disable PSM sleep, is enabled by default
Dev.setBand(20); // set Band
Serial.begin(115200);
Serial.debug(); // enable debug for this port, DBG( work as printf )
Serial.printf(“Arduino %s\n”, Dev.getVersion());
Dev.getImei(imei);
Serial.printf(“IMEI %s\n”, imei.c_str());
Dev.getUid(uid);
Serial.printf(“UID %s\n”, uid.c_str());
Dev.waitSimReady();
Dev.getMccMnc(mcc_mnc);
Serial.printf(“MCCMNC %s\n”, mcc_mnc.c_str());
Dev.getImsi(sim_imsi);
Serial.printf(“IMSI %s\n”, sim_imsi.c_str());
Dev.getIccid(sim_iccid);
Serial.printf(“ICCID %s\n”, sim_iccid.c_str());
Dev.waitCereg();
delay(200); // must have some delay, afrer this time next values is available
Serial.printf(“Rx level %d dbm\n”, Dev.getReceiveLevel());
Serial.printf(“Rx quality %d\n”, Dev.getQuality());
Serial.printf(“Rx access %d\n”, Dev.getAccess());
Serial.printf(“Cell cid %d\n”, Dev.getCid());
Serial.printf(“Cell tac %d\n”, Dev.getTac());
char mlts[322];
Dev.getMlts(mlts, 322);
Serial.printf(“Cell mlts %s\n”, mlts);
pinMode(LED, OUTPUT);
digitalWrite(LED, 1);
Serial.printf(“Elapsed: %d mili seconds\n”, millis() - t);
}
void loop(){
static int led = 0;
delay(500);
Serial.print(">");
digitalWrite(LED, ++led & 1);
/* loop must be state machine, dont make long delays */
}
but does not work:
— Miniterm on COM10 115200,8,N,1 —
— Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H —
F1: 0000 0000
V0: 0000 0000 [0001]
00: 0006 000C
01: 0000 0000
U0: 0000 0001 [0000]
T0: 0000 00B4
Leavin�
- Ql_RIL_SendATCmd( AT+QSPCHSC=1 … )
- Ql_RIL_SendATCmd( AT*MCGDEFCONT=“IP” … )