| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- // Author: NiuJiuRu
- // Email: niujiuru@qq.com
- package air720u
- /*
- #include "air720u.h"
- */
- import "C"
- import (
- "fmt"
- "strconv"
- "unsafe"
- )
- // 打开与模块的通讯
- func air720U_ComInit() (int, error) {
- ret := int(C.Air720U_ComInit())
- if ret != 0 {
- return ret, fmt.Errorf("an error occurred while calling the C.Air720U_ComInit() function(%d)", ret)
- }
- return 0, nil
- }
- // 关闭与模块的通讯
- func air720U_ComExit() error {
- ret := int(C.Air720U_ComExit())
- if ret != 0 {
- return fmt.Errorf("an error occurred while calling the C.Air720U_ComExit() function(%d)", ret)
- }
- return nil
- }
- func air720U_Repower() error {
- ret := int(C.Air720U_Repower())
- if ret != 0 {
- return fmt.Errorf("an error occurred while calling the C.Air720U_Repower() function(%d)", ret)
- }
- return nil
- }
- // 获取模块的标识号
- func air720U_GetIMEI() (string, error) {
- var buf [16]byte
- ret := int(C.Air720U_GetIMEI((*C.char)(unsafe.Pointer(&buf[0]))))
- if ret != 15 {
- return "", fmt.Errorf("an error occurred while calling the C.Air720U_GetIMEI() function(%d)", ret)
- }
- return C.GoString((*C.char)(unsafe.Pointer(&buf[0]))), nil
- }
- // 获取网络注册状态
- func air720U_GetCregState() (int, error) {
- ret := int(C.Air720U_GetCregState())
- if ret < 0 {
- return -1, fmt.Errorf("an error occurred while calling the C.Air720U_GetCregState() function(%d)", ret)
- }
- return ret, nil
- }
- // 获取当前信号强度
- func air720U_GetRSSIFromCSQ() (string, error) {
- ret := int(C.Air720U_GetRSSIFromCSQ())
- if ret < 0 {
- return "", fmt.Errorf("an error occurred while calling the C.Air720U_GetRSSIFromCSQ() function(%d)", ret)
- }
- return strconv.Itoa(ret), nil
- }
- // 返回电话卡的状态
- func air720U_IsSimCardReady() (bool, error) {
- ret := int(C.Air720U_IsSimCardReady())
- if ret < 0 {
- return false, fmt.Errorf("an error occurred while calling the C.Air720U_IsSimCardReady() function(%d)", ret)
- }
- return ret == 1, nil
- }
- // 获取电话卡标识号
- func air720U_GetSimICCID() (string, error) {
- var buf [21]byte
- ret := int(C.Air720U_GetSimICCID((*C.char)(unsafe.Pointer(&buf[0]))))
- if ret != 20 {
- return "", fmt.Errorf("an error occurred while calling the C.Air720U_GetSimICCID() function(%d)", ret)
- }
- return C.GoString((*C.char)(unsafe.Pointer(&buf[0]))), nil
- }
|