⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mtel.lst

📁 CC2430上开关控制灯和温度传感器采集两个例子
💻 LST
📖 第 1 页 / 共 5 页
字号:
    967                    }
    968          #endif
    969          
    970          #if defined( MT_AF_CB_FUNC )
    971                    // Set the corresponding callback subscription bit for an AF callback.
    972                    if (( callbackID & 0xFFF0 ) == SPI_AF_CB_TYPE )
    973                    {
    974                      // Based on the action field, either enable or disable subscription.
    975                      if ( pData[2] )
    976                        _afCallbackSub |=  ( 1 << ( pData[1] & 0x0F ) );
    977                      else
    978                        _afCallbackSub &= ~( 1 << ( pData[1] & 0x0F ) );
    979                    }
    980          #endif
    981          #if defined( MT_SAPI_CB_FUNC )
    982                    // Set the corresponding callback subscription bit for an SAPI callback.
    983                    if (( callbackID & 0xFFF0 ) == SPI_SAPI_CB_TYPE )
    984                    {
    985                      // Based on the action field, either enable or disable subscription.
    986                      if ( pData[2] )
    987                        _sapiCallbackSub |=  ( 1 << ( pData[1] & 0x0F ) );
    988                      else
    989                        _sapiCallbackSub &= ~( 1 << ( pData[1] & 0x0F ) );
    990                    }
    991          #endif
    992                  }
    993                  len = 1;
    994                  ret = ZSUCCESS;
    995                  break;
    996          
    997                case SPI_CMD_SYS_PING:
    998                  // Get a message buffer to build response message
    999                  // The Ping response now has capabilities included
   1000          
   1001                  // Build Capabilities
   1002                  tmp16 = MT_CAP_MAC | MT_CAP_NWK | MT_CAP_AF |
   1003                        MT_CAP_ZDO | MT_CAP_USER_TEST | MT_CAP_SAPI_FUNC;
   1004          
   1005                  // Convert to high byte first into temp buffer
   1006                  extAddr[0] = HI_UINT16( tmp16 );
   1007                  extAddr[1] = LO_UINT16( tmp16 );
   1008                  len = sizeof ( tmp16 );
   1009                  retValue = extAddr;
   1010                  break;
   1011          
   1012                case SPI_CMD_SYS_VERSION:
   1013                  {
   1014          #if !defined ( NONWK )
   1015                    uint8 i = NLME_GetProtocolVersion() - 1;
   1016          #else
   1017                    uint8 i = 1;   // just say '1.1' -- irrelevant if stack isn't there anyway
   1018          #endif
   1019          
   1020                    // Get a message buffer to build response message
   1021                    len      = (byte)(osal_strlen( (char *)MTVersionString[i] ));
   1022                    retValue = (byte *)MTVersionString[i];
   1023                  }
   1024                    break;
   1025          
   1026                case SPI_CMD_SYS_SET_EXTADDR:
   1027                  // Incoming extended address is reversed
   1028                  MT_ReverseBytes( pData, Z_EXTADDR_LEN );
   1029          
   1030                  if ( ZMacSetReq( ZMacExtAddr, pData ) == ZMacSuccess )
   1031                    ret = osal_nv_write( ZCD_NV_EXTADDR, 0, Z_EXTADDR_LEN, pData );
   1032                  else
   1033                    ret = 1;
   1034                  len = 1;
   1035                  break;
   1036          
   1037                case SPI_CMD_SYS_GET_EXTADDR:
   1038                  ZMacGetReq( ZMacExtAddr, extAddr );
   1039          
   1040                  // Outgoing extended address needs to be reversed
   1041                  MT_ReverseBytes( extAddr, Z_EXTADDR_LEN );
   1042          
   1043                  len = Z_EXTADDR_LEN;
   1044                  retValue = extAddr;
   1045                  break;
   1046          
   1047          #if !defined ( NONWK )
   1048                case SPI_CMD_SYS_SET_PANID:
   1049                  tmp16 = BUILD_UINT16( pData[1], pData[0] );
   1050                  attLen = osal_nv_item_len( ZCD_NV_PANID );
   1051                  ret = osal_nv_write( ZCD_NV_PANID, 0, attLen, &tmp16 );
   1052                  len = 1;
   1053                  break;
   1054          
   1055                case SPI_CMD_SYS_SET_CHANNELS:
   1056                  tmp32 = BUILD_UINT32( pData[3], pData[2], pData[1], pData[0] );
   1057                  attLen = osal_nv_item_len( ZCD_NV_CHANLIST );
   1058                  ret = osal_nv_write( ZCD_NV_CHANLIST, 0, attLen, &tmp32 );
   1059                  len = 1;
   1060                  break;
   1061          
   1062                case SPI_CMD_SYS_SET_SECLEVEL:
   1063                  attLen = osal_nv_item_len( ZCD_NV_SECURITY_LEVEL );
   1064                  ret = osal_nv_write( ZCD_NV_SECURITY_LEVEL, 0, attLen, pData );
   1065                  len = 1;
   1066                  break;
   1067          
   1068                case SPI_CMD_SYS_SET_PRECFGKEY:
   1069                  attLen = osal_nv_item_len( ZCD_NV_PRECFGKEY );
   1070                  ret = osal_nv_write( ZCD_NV_PRECFGKEY, 0, attLen, pData );
   1071                  len = 1;
   1072                  break;
   1073          
   1074                case SPI_CMD_SYS_GET_NV_INFO:
   1075                  MT_ProcessGetNvInfo();
   1076                  break;
   1077          #endif // NONWK
   1078          
   1079                case SPI_CMD_SYS_GET_DEVICE_INFO:
   1080                  MT_ProcessGetDeviceInfo();
   1081                  break;
   1082          
   1083                case SPI_CMD_SYS_SET_NV:
   1084                  ret = MT_ProcessSetNV( pData );
   1085                  len = 1;
   1086                  break;
   1087          
   1088                case SPI_CMD_SYS_GET_NV:
   1089                  MT_ProcessGetNV( pData );
   1090                  break;
   1091          
   1092                case SPI_CMD_SYS_TIME_ALIVE:
   1093                  // Time since last reset (seconds)
   1094                  tmp32 = osal_GetSystemClock() / 1000;
   1095                  // Convert to high byte first into temp buffer
   1096                  extAddr[0] = BREAK_UINT32( tmp32, 3 );
   1097                  extAddr[1] = BREAK_UINT32( tmp32, 2 );
   1098                  extAddr[2] = BREAK_UINT32( tmp32, 1 );
   1099                  extAddr[3] = BREAK_UINT32( tmp32, 0 );
   1100                  len = sizeof ( tmp32 );
   1101                  retValue = extAddr;
   1102                  break;
   1103          
   1104                case SPI_CMD_SYS_KEY_EVENT:
   1105                  // Translate between SPI values to device values
   1106                  if ( pData[1] & 0x01 )
   1107                    x |= HAL_KEY_SW_1;
   1108                  if ( pData[1] & 0x02 )
   1109                    x |= HAL_KEY_SW_2;
   1110                  if ( pData[1] & 0x04 )
   1111                    x |= HAL_KEY_SW_3;
   1112                  if ( pData[1] & 0x08 )
   1113                    x |= HAL_KEY_SW_4;
   1114          #if defined ( HAL_KEY_SW_5 )
   1115                  if ( pData[1] & 0x10 )
   1116                    x |= HAL_KEY_SW_5;
   1117          #endif
   1118          #if defined ( HAL_KEY_SW_6 )
   1119                  if ( pData[1] & 0x20 )
   1120                    x |= HAL_KEY_SW_6;
   1121          #endif
   1122          #if defined ( HAL_KEY_SW_7 )
   1123                  if ( pData[1] & 0x40 )
   1124                    x |= HAL_KEY_SW_7;
   1125          #endif
   1126          #if defined ( HAL_KEY_SW_8 )
   1127                  if ( pData[1] & 0x80 )
   1128                    x |= HAL_KEY_SW_8;
   1129          #endif
   1130                  ret = OnBoard_SendKeys( x, pData[0]  );
   1131                  len = 1;
   1132                  break;
   1133          
   1134                case SPI_CMD_SYS_HEARTBEAT:
   1135                  ret = ZSUCCESS;
   1136                  len = 1;
   1137                  break;
   1138          
   1139          #if !defined ( NONWK )
   1140                case SPI_CMD_SYS_APP_MSG:
   1141                  ret = MTProcessAppMsg( pData, msg[2] );
   1142                  len = 0;
   1143                  break;
   1144          #endif // NONWK
   1145          
   1146                case SPI_CMD_SYS_LED_CONTROL:
   1147          #if (defined HAL_LED) && (HAL_LED == TRUE)
   1148                  ret = MTProcessLedControl( pData );
   1149                  len = 1;
   1150          #endif
   1151                  break;
   1152          
   1153          #ifdef MT_MAC_FUNC
   1154                case SPI_CMD_MAC_INIT:
   1155                case SPI_CMD_MAC_ASSOCIATE_REQ:
   1156                case SPI_CMD_MAC_ASSOCIATE_RSP:
   1157                case SPI_CMD_MAC_DISASSOCIATE_REQ:
   1158                case SPI_CMD_MAC_DATA_REQ:
   1159                case SPI_CMD_MAC_GET_REQ:
   1160                case SPI_CMD_MAC_SET_REQ:
   1161                case SPI_CMD_MAC_START_REQ:
   1162                case SPI_CMD_MAC_SCAN_REQ:
   1163                case SPI_CMD_MAC_RESET_REQ:
   1164                case SPI_CMD_MAC_GTS_REQ:
   1165                case SPI_CMD_MAC_ORPHAN_RSP:
   1166                case SPI_CMD_MAC_RX_ENABLE_REQ:
   1167                case SPI_CMD_MAC_SYNC_REQ:
   1168                case SPI_CMD_MAC_POLL_REQ:
   1169                case SPI_CMD_MAC_PURGE_REQ:
   1170                  MT_MacCommandProcessing( cmd , len , pData );
   1171                  break;
   1172          #endif
   1173          
   1174          #ifdef MT_NWK_FUNC
   1175                case SPI_CMD_NWK_INIT:
   1176                case SPI_CMD_NLDE_DATA_REQ:
   1177                case SPI_CMD_NLME_INIT_COORD_REQ:
   1178                case SPI_CMD_NLME_PERMIT_JOINING_REQ:
   1179                case SPI_CMD_NLME_JOIN_REQ:
   1180                case SPI_CMD_NLME_LEAVE_REQ:
   1181                case SPI_CMD_NLME_RESET_REQ:
   1182                case SPI_CMD_NLME_RX_STATE_REQ:
   1183                case SPI_CMD_NLME_GET_REQ:
   1184                case SPI_CMD_NLME_SET_REQ:
   1185                case SPI_CMD_NLME_NWK_DISC_REQ:
   1186                case SPI_CMD_NLME_ROUTE_DISC_REQ:
   1187                case SPI_CMD_NLME_DIRECT_JOIN_REQ:
   1188                case SPI_CMD_NLME_ORPHAN_JOIN_REQ:
   1189                case SPI_CMD_NLME_START_ROUTER_REQ:
   1190                  MT_NwkCommandProcessing( cmd , len , pData );
   1191                  break;
   1192          #endif
   1193          
   1194          #ifdef MT_ZDO_FUNC
   1195                case SPI_CMD_ZDO_AUTO_ENDDEVICEBIND_REQ:
   1196                case SPI_CMD_ZDO_AUTO_FIND_DESTINATION_REQ:
   1197                case SPI_CMD_ZDO_NWK_ADDR_REQ:
   1198                case SPI_CMD_ZDO_IEEE_ADDR_REQ:
   1199                case SPI_CMD_ZDO_NODE_DESC_REQ:
   1200                case SPI_CMD_ZDO_POWER_DESC_REQ:
   1201                case SPI_CMD_ZDO_SIMPLE_DESC_REQ:
   1202                case SPI_CMD_ZDO_ACTIVE_EPINT_REQ:
   1203                case SPI_CMD_ZDO_MATCH_DESC_REQ:
   1204                case SPI_CMD_ZDO_COMPLEX_DESC_REQ:
   1205                case SPI_CMD_ZDO_USER_DESC_REQ:
   1206                case SPI_CMD_ZDO_END_DEV_BIND_REQ:
   1207                case SPI_CMD_ZDO_BIND_REQ:
   1208                case SPI_CMD_ZDO_UNBIND_REQ:
   1209                case SPI_CMD_ZDO_MGMT_NWKDISC_REQ:
   1210                case SPI_CMD_ZDO_MGMT_LQI_REQ:
   1211                case SPI_CMD_ZDO_MGMT_RTG_REQ:
   1212                case SPI_CMD_ZDO_MGMT_BIND_REQ:
   1213                case SPI_CMD_ZDO_MGMT_DIRECT_JOIN_REQ:
   1214                case SPI_CMD_ZDO_USER_DESC_SET:
   1215                case SPI_CMD_ZDO_END_DEV_ANNCE:
   1216                case SPI_CMD_ZDO_MGMT_LEAVE_REQ:
   1217                case SPI_CMD_ZDO_MGMT_PERMIT_JOIN_REQ:
   1218                case SPI_CMD_ZDO_SERVERDISC_REQ:
   1219                case SPI_CMD_ZDO_NETWORK_START_REQ:
   1220                  MT_ZdoCommandProcessing( cmd , len , pData );
   1221                  break;
   1222          #endif
   1223          
   1224          #if defined ( MT_AF_FUNC )
   1225                case SPI_CMD_AF_INIT:
   1226                case SPI_CMD_AF_REGISTER:
   1227                case SPI_CMD_AF_SENDMSG:
   1228                  MT_afCommandProcessing( cmd , len , pData );
   1229                  break;
   1230          #endif
   1231          
   1232          #if defined ( MT_SAPI_FUNC )
   1233                case SPI_CMD_SAPI_SYS_RESET:
   1234                case SPI_CMD_SAPI_START_REQ:
   1235                case SPI_CMD_SAPI_BIND_DEVICE:
   1236                case SPI_CMD_SAPI_ALLOW_BIND:
   1237                case SPI_CMD_SAPI_SEND_DATA:
  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -