Преглед изворни кода

增加北斗GPS信号跟踪使能功能,发布V2.1.02版本

zhoutao пре 1 месец
родитељ
комит
d482b451ac

+ 0 - 1
.gitignore

@@ -1,4 +1,3 @@
-bin
 DebugConfig
 Listings
 Objects

BIN
bin/sync8000V2.0.05.bin


BIN
bin/sync8000V2.0.06.bin


BIN
bin/sync8000V2.00.3.bin


BIN
bin/sync8000V2.00.4.bin


BIN
bin/sync8000V2.1.00.bin


BIN
bin/sync8000V2.1.01.bin


BIN
bin/sync8000V2.1.02.bin


BIN
bin/同步基站版本发布表.xlsx


Разлика између датотеке није приказан због своје велике величине
+ 2 - 2
ips8000v3.uvguix.zt200


+ 24 - 2
src/driver/driver_cpld.c

@@ -15,16 +15,24 @@ void driver_cpld_init()
     stGpio.GPIO_Speed = GPIO_Speed_50MHz;
     stGpio.GPIO_PuPd = GPIO_PuPd_NOPULL;
 
+    // CPLD使能管脚
     RCC_AHB1PeriphClockCmd(DRIVER_CPLD_CS_CLK, ENABLE);
     stGpio.GPIO_Pin = DRIVER_CPLD_CS_PIN;
     GPIO_DeInit(DRIVER_CPLD_CS_PORT);
     GPIO_Init(DRIVER_CPLD_CS_PORT, &stGpio);
 
+    // 北斗GPS使能管脚
+    RCC_AHB1PeriphClockCmd(DRIVER_CPLD_BDGPS_CLK, ENABLE);
+    stGpio.GPIO_Pin = DRIVER_CPLD_BDGPS_PIN;
+    GPIO_DeInit(DRIVER_CPLD_BDGPS_PORT);
+    GPIO_Init(DRIVER_CPLD_BDGPS_PORT, &stGpio);
+
     // 失能
-    driver_cpld_cs_enable(0);
+    driver_cpld_cs_enable(Bit_RESET);
+    driver_cpld_bdgps_enable(Bit_RESET);
 }
 
-// 片选使能
+// CPLD使能
 // byEnable:0:失能,1:使能
 void driver_cpld_cs_enable(uint8 byEnable)
 {
@@ -37,3 +45,17 @@ void driver_cpld_cs_enable(uint8 byEnable)
         GPIO_WriteBit(DRIVER_CPLD_CS_PORT, DRIVER_CPLD_CS_PIN, Bit_RESET);
     }
 }
+
+// 北斗GPS使能
+// byEnable:0:失能,1:使能
+void driver_cpld_bdgps_enable(uint8 byEnable)
+{
+    if (byEnable > 0)
+    {
+        GPIO_WriteBit(DRIVER_CPLD_BDGPS_PORT, DRIVER_CPLD_BDGPS_PIN, Bit_SET);
+    }
+    else
+    {
+        GPIO_WriteBit(DRIVER_CPLD_BDGPS_PORT, DRIVER_CPLD_BDGPS_PIN, Bit_RESET);
+    }
+}

+ 6 - 0
src/driver/driver_cpld.h

@@ -15,8 +15,14 @@
 #define DRIVER_CPLD_CS_PIN GPIO_Pin_3
 #define DRIVER_CPLD_CS_PORT GPIOA
 
+// 北斗GPS使能脚
+#define DRIVER_CPLD_BDGPS_CLK RCC_AHB1Periph_GPIOA
+#define DRIVER_CPLD_BDGPS_PIN GPIO_Pin_2
+#define DRIVER_CPLD_BDGPS_PORT GPIOA
+
 // 供外部使用接口
 void driver_cpld_init();
 void driver_cpld_cs_enable(uint8 bySwitch);
+void driver_cpld_bdgps_enable(uint8 byEnable);
 
 #endif

+ 7 - 3
src/driverapp/driverapp_peripheral.c

@@ -27,8 +27,8 @@ uint8 driverapp_peripheral_init()
     // 已经保存过参数
     if (pstOamParam->dwStoreFlag == APP_WMM_STORE_FLAG)
     {
-        pstSync = pstOamParam->pstSyncParam;       // 获得同步结构指针
-        pstNetwork = pstOamParam->pstNetworkParam; // 获得网络参数指针
+        ////配置同步模块
+        pstSync = pstOamParam->pstSyncParam; // 获得同步结构指针
 
         // 初始化同步模块频率
         byCarrierId = pstSync->byCarrierId;
@@ -42,7 +42,11 @@ uint8 driverapp_peripheral_init()
         // 配置发射功率
         sync_power_config_tx_power(pstSync->byTxPower);
 
-        // 初始化WiFi模块参数(wifi名称、wifi密码,服务器IP,服务器端口,网管使能)
+        // 配置北斗gps使能信号
+        driver_cpld_bdgps_enable(pstSync->byBdGpsEnabled);
+
+        //// 配置WiFi模块参数(wifi名称、wifi密码,服务器IP,服务器端口,网管使能)
+        pstNetwork = pstOamParam->pstNetworkParam; // 获得网络参数指针
         SYS_MEMCPY(stWifiParam.abyApName, pstNetwork->abyApName, 20);
         SYS_MEMCPY(stWifiParam.abyApPassword, pstNetwork->abyApPassword, 20);
         SYS_MEMCPY(stWifiParam.abyMonitorIP, pstNetwork->abyMonitorIP, 32);

+ 2 - 1
src/inc/sysdef.h

@@ -88,6 +88,7 @@ typedef unsigned long long uint64;
 // V2.0.06,配合远程升级做部分修改(by zt 2024/11/13)
 // V2.1.00,增加重置参数功能,发布正式版本(by zt 2024/12/21)
 // V2.1.01,增加rtc功能(by zt 2025/3/13)
-#define SOFTWARE_VERSION "V2.1.01"
+// V2.1.02,增加北斗GPS信号跟踪使能功能(by zt 2025/5/8)
+#define SOFTWARE_VERSION "V2.1.02"
 
 #endif

+ 6 - 0
src/wmm/wmm_sync.c

@@ -29,6 +29,8 @@ void wmm_sync_set_param_with_default_data()
     g_stSaveSyncParam.byTxCarrierId = 34;
     g_stSaveSyncParam.byTxSyncWordId = 2;
     g_stSaveSyncParam.byTxPower = -10;
+
+    g_stSaveSyncParam.byBdGpsEnabled = 0; // 北斗GPS信号关闭
 }
 
 // 基于flash中的数据配置设备参数
@@ -64,6 +66,8 @@ uint8 wmm_sync_query(uint16 wCommand, uint8 *pbyLtv)
         break;
     case ORDER_SYNC_RSSI: // 接收电平
         break;
+    case ORDER_SYNC_BD_GPS_ENABLE: // 北斗GPS信号使能
+        SYS_MEMCPY(pstLtv->abyData, &g_stSaveSyncParam.byBdGpsEnabled, wLen);
     default:
         break;
     }
@@ -92,6 +96,8 @@ uint8 wmm_sync_config(uint16 wCommand, uint8 *pbyLtv)
         break;
     case ORDER_SYNC_RSSI: // 接收电平
         break;
+    case ORDER_SYNC_BD_GPS_ENABLE: // 北斗GPS信号使能
+        SYS_MEMCPY(&g_stSaveSyncParam.byBdGpsEnabled, pstLtv->abyData, wLen);
     default:
         break;
     }

+ 6 - 1
src/wmm/wmm_sync.h

@@ -19,6 +19,8 @@
 #define ORDER_SYNC_TX_SYNC_WORD 0X0508
 #define ORDER_SYNC_TX_POWER 0X0503
 
+#define ORDER_SYNC_BD_GPS_ENABLE 0X0509 // 北斗GPS使能
+
 // 32字节,包括保留
 typedef struct
 {
@@ -36,7 +38,10 @@ typedef struct
     uint8 byTxSyncWordId; // 发射同步字ID
     int8 byTxPower;       // 发射功率
 
-    uint8 abyReserve[19]; // 4字节对齐考虑
+    // 北斗gps使能
+    uint8 byBdGpsEnabled; // 0:关闭,1:使能
+
+    uint8 abyReserve[18]; // 4字节对齐考虑
 } SAVE_SYNC_T;
 
 /*********************************************************

Неке датотеке нису приказане због велике количине промена