mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-11-02 11:28:04 +00:00
> Changes done : > 1. Shared schema between host and embedded controller. 2. Commands messages are handled at driver level. 3. Debug message type added to enable debugging on i2c, spi and gpio's. 4. Auto test capabilities added to ethernet module. 5. Unit test cases written for multiple devices like LTC4275, LTC4274, LTC4015,ADT7481, PCA9557, SX1509.
99 lines
2.7 KiB
C
99 lines
2.7 KiB
C
/**
|
|
* Copyright (c) 2017-present, Facebook, Inc.
|
|
* All rights reserved.
|
|
*
|
|
* This source code is licensed under the BSD-style license found in the
|
|
* LICENSE file in the root directory of this source tree. An additional grant
|
|
* of patent rights can be found in the PATENTS file in the same directory.
|
|
*/
|
|
#ifndef TEST_MODULE_H_
|
|
#define TEST_MODULE_H_
|
|
|
|
/*****************************************************************************
|
|
* HEADER FILES
|
|
*****************************************************************************/
|
|
#include "common/inc/global/Framework.h"
|
|
#include "drivers/OcGpio.h"
|
|
#include "helpers/attribute.h"
|
|
|
|
|
|
/*****************************************************************************
|
|
* STRUCT/ENUM DEFINITIONS
|
|
*****************************************************************************/
|
|
/* G510 config */
|
|
/* TODO: should move to a separate file */
|
|
typedef struct G510_Cfg {
|
|
unsigned int uart;
|
|
OcGpio_Pin pin_enable;
|
|
OcGpio_Pin pin_pwr_en;
|
|
OcGpio_Pin pin_sim_present;
|
|
} G510_Cfg;
|
|
|
|
/* Subsystem config */
|
|
typedef struct TestMod_Cfg {
|
|
G510_Cfg g510_cfg;
|
|
OcGpio_Pin pin_ant_sw;
|
|
} TestMod_Cfg;
|
|
|
|
/*
|
|
* Test Module Components. This is the part of the OCMPMsg in componentID field.
|
|
*/
|
|
|
|
/* TODO: this should be in gsm.h */
|
|
typedef enum OperatorStat {
|
|
OP_STAT_UNKNOWN = 0x00,
|
|
OP_STAT_AVAILABLE = 0x01,
|
|
OP_STAT_CURRENT = 0x02,
|
|
OP_STAT_FORBIDDEN = 0x03,
|
|
} OperatorStat;
|
|
|
|
typedef struct TestModule_opInfo {
|
|
uint16_t opCode;
|
|
OperatorStat stat;
|
|
} TestModule_opInfo;
|
|
|
|
typedef enum TestModule_errorSource {
|
|
TESTMOD_ERR_INTERNAL = 0,
|
|
TESTMOD_ERR_CMS = 1,
|
|
TESTMOD_ERR_CME = 2
|
|
} TestModule_errorSource;
|
|
|
|
typedef struct TestModule_lastError {
|
|
TestModule_errorSource src;
|
|
uint16_t code;
|
|
} TestModule_lastError;
|
|
|
|
typedef union PACKED {
|
|
uint64_t imei;
|
|
uint64_t imsi;
|
|
char mfg[10];
|
|
char model[5];
|
|
uint8_t rssi;
|
|
uint8_t ber;
|
|
uint8_t regStat;
|
|
TestModule_opInfo opInfo;
|
|
uint32_t cid;
|
|
uint8_t bsic;
|
|
TestModule_lastError lastErr;
|
|
} TestMod_2G_Status_Data;
|
|
|
|
typedef struct PACKED {
|
|
char number[16];
|
|
char msg[20];
|
|
} TestModule_sms;
|
|
|
|
extern const Driver Testmod_G510;
|
|
|
|
/* Command callbacks */
|
|
bool TestMod_cmdEnable(void *driver, void *params);
|
|
bool TestMod_cmdDisable(void *driver, void *params);
|
|
bool TestMod_cmdDisconnect(void *driver, void *params);
|
|
bool TestMod_cmdConnect(void *driver, void *params);
|
|
bool TestMod_cmdSendSms(void *driver, void *params);
|
|
bool TestMod_cmdDial(void *driver, void *params);
|
|
bool TestMod_cmdAnswer(void *driver, void *params);
|
|
bool TestMod_cmdHangup(void *driver, void *params);
|
|
bool TestMod_cmdReset(void *driver, void *params);
|
|
|
|
#endif /* TEST_MODULE_H_ */
|