static uint16 Wechat_get_md5(void) { uint8 stat = SUCCESS; #if (defined EAM_md5AndNoEnrypt ) || ( defined EAM_md5AndAesEnrypt ) char device_type[] = DEVICE_TYPE; char device_id[] = DEVICE_ID; char argv[sizeof(DEVICE_TYPE) + sizeof(DEVICE_ID) - 1]; memcpy(argv,device_type,sizeof(DEVICE_TYPE)); /*when add the DEVICE_ID to DEVICE_TYPE, the offset shuld -1 to overwrite '\0' at the end of DEVICE_TYPE */ memcpy(argv + sizeof(DEVICE_TYPE)-1,device_id,sizeof(DEVICE_ID)); stat = md5(argv, md5_type_and_id); #if 0 NPI_Printf( "\r\nDEVICE_TYPE and DEVICE_ID: %s\r\n",argv); NPI_PrintString ( "\r\nMD5:"); for ( uint8 i = 0; i < 16; i++ ) NPI_Printf ( " %02x", md5_type_and_id[i] ); NPI_PrintString( "\r\n" ); #endif #endif return stat; }
/* 打印指定的格式的数值 参数 title,前缀字符串 value,需要显示的数值 format,需要显示的进制,十进制为10,十六进制为16 */ void NPI_PrintValue(char *title, uint16 value, uint8 format) { uint8 tmpLen; uint8 buf[128]; uint32 err; tmpLen = (uint8)osal_strlen( (char*)title ); osal_memcpy( buf, title, tmpLen ); buf[tmpLen] = ' '; err = (uint32)(value); _ltoa( err, &buf[tmpLen+1], format ); NPI_PrintString(buf); }
/************************************************************************************************** * @fn HalLcdWriteString * * @brief Write a string to the LCD * * @param str - pointer to the string that will be displayed * option - display options * * @return None **************************************************************************************************/ void HalLcdWriteString ( char *str, uint8 option) { #if (HAL_LCD == TRUE) uint8 strLen = 0; uint8 totalLen = 0; uint8 *buf; uint8 tmpLen; if ( Lcd_Line1 == NULL ) { Lcd_Line1 = osal_mem_alloc( HAL_LCD_MAX_CHARS+1 ); HalLcdWriteString( "Texas Instruments", 1 ); } strLen = (uint8)osal_strlen( (char*)str ); /* Check boundries */ if ( strLen > HAL_LCD_MAX_CHARS ) strLen = HAL_LCD_MAX_CHARS; if ( option == HAL_LCD_LINE_1 ) { /* Line 1 gets saved for later */ osal_memcpy( Lcd_Line1, str, strLen ); Lcd_Line1[strLen] = '\0'; } else { /* Line 2 triggers action */ tmpLen = (uint8)osal_strlen( (char*)Lcd_Line1 ); totalLen = tmpLen + 1 + strLen + 1; buf = osal_mem_alloc( totalLen ); if ( buf != NULL ) { /* Concatenate strings */ osal_memcpy( buf, Lcd_Line1, tmpLen ); buf[tmpLen++] = ' '; osal_memcpy( &buf[tmpLen], str, strLen ); buf[tmpLen+strLen] = '\0'; /* Send it out */ #if defined (ZTOOL_P1) || defined (ZTOOL_P2) #if defined(SERIAL_DEBUG_SUPPORTED) debug_str( (uint8*)buf ); #endif //LCD_SUPPORTED #endif //ZTOOL_P1 /* Free mem */ osal_mem_free( buf ); } } #if (HAL_UART == TRUE) NPI_WriteTransport(str, (uint8)osal_strlen( (char*)str)); NPI_PrintString("\r\n"); #endif /* Display the string */ HalLcd_HW_WriteLine (option, str); #endif //HAL_LCD }