diff --git a/BSP/u-boot/board/novatek/common/nvt_logo/logo.dat b/BSP/u-boot/board/novatek/common/nvt_logo/logo.dat index 847549237..244571788 100755 --- a/BSP/u-boot/board/novatek/common/nvt_logo/logo.dat +++ b/BSP/u-boot/board/novatek/common/nvt_logo/logo.dat @@ -5478,70 +5478,68 @@ unsigned char updatefwfailed_updatefwagain_rotate270_str[] = { 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFF, 0xC0, 0x00, 0x11, 0x08, 0x00, 0xD2, 0x00, 0x0A, 0x03, 0x01, 0x22, 0x00, 0x02, 0x11, 0x00, 0x03, 0x11, 0x00, 0xFF, 0xDA, 0x00, -0x0C, 0x03, 0x01, 0x00, 0x02, 0x11, 0x03, 0x11, 0x00, 0x3F, 0x00, 0xEB, 0xFC, 0x05, 0xF0, 0xC3, -0xC2, 0x52, 0x78, 0x3B, 0x4B, 0x6B, 0xCD, 0x26, 0xD2, 0xF6, 0x7D, 0x47, 0x4F, 0xB7, 0xBB, 0xB8, -0xB9, 0x9D, 0x37, 0x4F, 0xBA, 0xEE, 0x15, 0x97, 0x6C, 0x53, 0x71, 0x24, 0x22, 0x30, 0xE1, 0x17, -0xC9, 0x29, 0xF7, 0x72, 0x79, 0xC9, 0xAF, 0x98, 0xFC, 0x45, 0xA6, 0xA6, 0x8F, 0xAE, 0x6A, 0xDA, -0x74, 0x6C, 0xCF, 0x1D, 0x8E, 0xA1, 0x79, 0x68, 0x8C, 0xDF, 0x79, 0x96, 0xDE, 0xE1, 0xE2, 0x56, -0x6C, 0x60, 0x64, 0x85, 0xC9, 0xAF, 0xB3, 0x3C, 0x09, 0xFF, 0x00, 0x22, 0x87, 0x86, 0xBF, 0xEC, -0x07, 0xA5, 0xFF, 0x00, 0xE9, 0x0C, 0x35, 0xF2, 0x07, 0x8E, 0xFF, 0x00, 0xE4, 0x6F, 0xF1, 0x2F, -0xFD, 0x87, 0x35, 0x4F, 0xFD, 0x2E, 0x9A, 0xAA, 0xC8, 0xAB, 0x23, 0xEB, 0xFF, 0x00, 0x02, 0x7F, +0x0C, 0x03, 0x01, 0x00, 0x02, 0x11, 0x03, 0x11, 0x00, 0x3F, 0x00, 0xF5, 0xFF, 0x00, 0x02, 0x7F, 0xC8, 0xA1, 0xE1, 0xAF, 0xFB, 0x01, 0xE9, 0x7F, 0xFA, 0x43, 0x0D, 0x7C, 0x81, 0xE3, 0xBF, 0xF9, 0x1B, 0xFC, 0x4B, 0xFF, 0x00, 0x61, 0xCD, 0x53, 0xFF, 0x00, 0x4B, 0xA6, 0xAF, 0xAF, 0xFC, 0x09, 0xFF, 0x00, 0x22, 0x87, 0x86, 0xBF, 0xEC, 0x07, 0xA5, 0xFF, 0x00, 0xE9, 0x0C, 0x35, 0xF2, 0x07, -0x8E, 0xFF, 0x00, 0xE4, 0x6F, 0xF1, 0x2F, 0xFD, 0x87, 0x35, 0x4F, 0xFD, 0x2E, 0x9A, 0x80, 0x3E, -0xBF, 0xF0, 0x27, 0xFC, 0x8A, 0x1E, 0x1A, 0xFF, 0x00, 0xB0, 0x1E, 0x97, 0xFF, 0x00, 0xA4, 0x30, -0xD7, 0xC8, 0x1E, 0x3B, 0xFF, 0x00, 0x91, 0xBF, 0xC4, 0xBF, 0xF6, 0x1C, 0xD5, 0x3F, 0xF4, 0xBA, -0x6A, 0xFA, 0xFF, 0x00, 0xC0, 0x9F, 0xF2, 0x28, 0x78, 0x6B, 0xFE, 0xC0, 0x7A, 0x5F, 0xFE, 0x90, -0xC3, 0x5F, 0x20, 0x78, 0xEF, 0xFE, 0x46, 0xFF, 0x00, 0x12, 0xFF, 0x00, 0xD8, 0x73, 0x54, 0xFF, -0x00, 0xD2, 0xE9, 0xA8, 0x03, 0xEB, 0xFF, 0x00, 0x02, 0x7F, 0xC8, 0xA1, 0xE1, 0xAF, 0xFB, 0x01, -0xE9, 0x7F, 0xFA, 0x43, 0x0D, 0x7C, 0x81, 0xE3, 0xBF, 0xF9, 0x1B, 0xFC, 0x4B, 0xFF, 0x00, 0x61, -0xCD, 0x53, 0xFF, 0x00, 0x4B, 0xA6, 0xAF, 0xAF, 0xFC, 0x09, 0xFF, 0x00, 0x22, 0x87, 0x86, 0xBF, -0xEC, 0x07, 0xA5, 0xFF, 0x00, 0xE9, 0x0C, 0x35, 0xF2, 0x07, 0x8E, 0xFF, 0x00, 0xE4, 0x6F, 0xF1, -0x2F, 0xFD, 0x87, 0x35, 0x4F, 0xFD, 0x2E, 0x9A, 0x80, 0x3E, 0xBF, 0xF0, 0x27, 0xFC, 0x8A, 0x1E, -0x1A, 0xFF, 0x00, 0xB0, 0x1E, 0x97, 0xFF, 0x00, 0xA4, 0x30, 0xD7, 0xC8, 0x1E, 0x3B, 0xFF, 0x00, -0x91, 0xBF, 0xC4, 0xBF, 0xF6, 0x1C, 0xD5, 0x3F, 0xF4, 0xBA, 0x6A, 0xFA, 0xFF, 0x00, 0xC0, 0x9F, -0xF2, 0x28, 0x78, 0x6B, 0xFE, 0xC0, 0x7A, 0x5F, 0xFE, 0x90, 0xC3, 0x5F, 0x20, 0x78, 0xEF, 0xFE, -0x46, 0xFF, 0x00, 0x12, 0xFF, 0x00, 0xD8, 0x73, 0x54, 0xFF, 0x00, 0xD2, 0xE9, 0xA8, 0x03, 0xEB, -0xFF, 0x00, 0x02, 0x7F, 0xC8, 0xA1, 0xE1, 0xAF, 0xFB, 0x01, 0xE9, 0x7F, 0xFA, 0x43, 0x0D, 0x7C, -0x81, 0xE3, 0xBF, 0xF9, 0x1B, 0xFC, 0x4B, 0xFF, 0x00, 0x61, 0xCD, 0x53, 0xFF, 0x00, 0x4B, 0xA6, -0xAF, 0xAF, 0xFC, 0x09, 0xFF, 0x00, 0x22, 0x87, 0x86, 0xBF, 0xEC, 0x07, 0xA5, 0xFF, 0x00, 0xE9, -0x0C, 0x35, 0xF2, 0x07, 0x8E, 0xFF, 0x00, 0xE4, 0x6F, 0xF1, 0x2F, 0xFD, 0x87, 0x35, 0x4F, 0xFD, -0x2E, 0x9A, 0x80, 0x3E, 0xBF, 0xF0, 0x27, 0xFC, 0x8A, 0x1E, 0x1A, 0xFF, 0x00, 0xB0, 0x1E, 0x97, -0xFF, 0x00, 0xA4, 0x30, 0xD7, 0xC8, 0x1E, 0x3B, 0xFF, 0x00, 0x91, 0xBF, 0xC4, 0xBF, 0xF6, 0x1C, -0xD5, 0x3F, 0xF4, 0xBA, 0x6A, 0xFA, 0xFF, 0x00, 0xC0, 0x9F, 0xF2, 0x28, 0x78, 0x6B, 0xFE, 0xC0, -0x7A, 0x5F, 0xFE, 0x90, 0xC3, 0x5F, 0x20, 0x78, 0xEF, 0xFE, 0x46, 0xFF, 0x00, 0x12, 0xFF, 0x00, -0xD8, 0x73, 0x54, 0xFF, 0x00, 0xD2, 0xE9, 0xA8, 0x03, 0xEB, 0xFF, 0x00, 0x02, 0x7F, 0xC8, 0xA1, -0xE1, 0xAF, 0xFB, 0x01, 0xE9, 0x7F, 0xFA, 0x43, 0x0D, 0x7C, 0x81, 0xE3, 0xBF, 0xF9, 0x1B, 0xFC, -0x4B, 0xFF, 0x00, 0x61, 0xCD, 0x53, 0xFF, 0x00, 0x4B, 0xA6, 0xAF, 0xAF, 0xFC, 0x09, 0xFF, 0x00, -0x22, 0x87, 0x86, 0xBF, 0xEC, 0x07, 0xA5, 0xFF, 0x00, 0xE9, 0x0C, 0x35, 0xF2, 0x07, 0x8E, 0xFF, -0x00, 0xE4, 0x6F, 0xF1, 0x2F, 0xFD, 0x87, 0x35, 0x4F, 0xFD, 0x2E, 0x9A, 0x80, 0x3E, 0xBF, 0xF0, -0x27, 0xFC, 0x8A, 0x1E, 0x1A, 0xFF, 0x00, 0xB0, 0x1E, 0x97, 0xFF, 0x00, 0xA4, 0x30, 0xD7, 0xC8, -0x1E, 0x3B, 0xFF, 0x00, 0x91, 0xBF, 0xC4, 0xBF, 0xF6, 0x1C, 0xD5, 0x3F, 0xF4, 0xBA, 0x6A, 0xFA, -0xFF, 0x00, 0xC0, 0x9F, 0xF2, 0x28, 0x78, 0x6B, 0xFE, 0xC0, 0x7A, 0x5F, 0xFE, 0x90, 0xC3, 0x5F, -0x20, 0x78, 0xEF, 0xFE, 0x46, 0xFF, 0x00, 0x12, 0xFF, 0x00, 0xD8, 0x73, 0x54, 0xFF, 0x00, 0xD2, -0xE9, 0xA8, 0x03, 0xEB, 0xFF, 0x00, 0x02, 0x7F, 0xC8, 0xA1, 0xE1, 0xAF, 0xFB, 0x01, 0xE9, 0x7F, -0xFA, 0x43, 0x0D, 0x7C, 0x81, 0xE3, 0xBF, 0xF9, 0x1B, 0xFC, 0x4B, 0xFF, 0x00, 0x61, 0xCD, 0x53, -0xFF, 0x00, 0x4B, 0xA6, 0xAF, 0xAF, 0xFC, 0x09, 0xFF, 0x00, 0x22, 0x87, 0x86, 0xBF, 0xEC, 0x07, -0xA5, 0xFF, 0x00, 0xE9, 0x0C, 0x35, 0xF2, 0x07, 0x8E, 0xFF, 0x00, 0xE4, 0x6F, 0xF1, 0x2F, 0xFD, -0x87, 0x35, 0x4F, 0xFD, 0x2E, 0x9A, 0x80, 0x3E, 0xBF, 0xF0, 0x27, 0xFC, 0x8A, 0x1E, 0x1A, 0xFF, -0x00, 0xB0, 0x1E, 0x97, 0xFF, 0x00, 0xA4, 0x30, 0xD7, 0xC8, 0x1E, 0x3B, 0xFF, 0x00, 0x91, 0xBF, -0xC4, 0xBF, 0xF6, 0x1C, 0xD5, 0x3F, 0xF4, 0xBA, 0x6A, 0xFA, 0xFF, 0x00, 0xC0, 0x9F, 0xF2, 0x28, -0x78, 0x6B, 0xFE, 0xC0, 0x7A, 0x5F, 0xFE, 0x90, 0xC3, 0x5F, 0x20, 0x78, 0xEF, 0xFE, 0x46, 0xFF, -0x00, 0x12, 0xFF, 0x00, 0xD8, 0x73, 0x54, 0xFF, 0x00, 0xD2, 0xE9, 0xA8, 0x03, 0xEB, 0xFF, 0x00, -0x02, 0x7F, 0xC8, 0xA1, 0xE1, 0xAF, 0xFB, 0x01, 0xE9, 0x7F, 0xFA, 0x43, 0x0D, 0x7C, 0x81, 0xE3, -0xBF, 0xF9, 0x1B, 0xFC, 0x4B, 0xFF, 0x00, 0x61, 0xCD, 0x53, 0xFF, 0x00, 0x4B, 0xA6, 0xAF, 0xAF, -0xFC, 0x09, 0xFF, 0x00, 0x22, 0x87, 0x86, 0xBF, 0xEC, 0x07, 0xA5, 0xFF, 0x00, 0xE9, 0x0C, 0x35, -0xF2, 0x07, 0x8E, 0xFF, 0x00, 0xE4, 0x6F, 0xF1, 0x2F, 0xFD, 0x87, 0x35, 0x4F, 0xFD, 0x2E, 0x9A, -0x80, 0x3E, 0xBF, 0xF0, 0x27, 0xFC, 0x8A, 0x1E, 0x1A, 0xFF, 0x00, 0xB0, 0x1E, 0x97, 0xFF, 0x00, -0xA4, 0x30, 0xD7, 0xC8, 0x1E, 0x3B, 0xFF, 0x00, 0x91, 0xBF, 0xC4, 0xBF, 0xF6, 0x1C, 0xD5, 0x3F, -0xF4, 0xBA, 0x6A, 0xFA, 0xE7, 0xE1, 0xE5, 0xD4, 0x17, 0x5E, 0x0C, 0xF0, 0xE4, 0x90, 0xC8, 0xB2, -0x22, 0xE9, 0x16, 0x31, 0x33, 0x29, 0x04, 0x09, 0x2D, 0xED, 0xD2, 0x29, 0x54, 0xFB, 0xA4, 0x88, -0xCA, 0x7D, 0x08, 0xAF, 0x90, 0x7C, 0x63, 0x73, 0x0D, 0xEF, 0x8A, 0x35, 0xFB, 0x98, 0x1D, 0x64, -0x86, 0x7D, 0x5F, 0x51, 0x96, 0x29, 0x14, 0xE5, 0x5E, 0x39, 0x2E, 0xE5, 0x64, 0x65, 0x23, 0xA8, -0x65, 0x20, 0x8A, 0x00, 0xA3, 0x6F, 0xAC, 0x6A, 0x96, 0x76, 0xD2, 0xDA, 0x5B, 0xDF, 0xDE, 0xC1, -0x6D, 0x36, 0x7C, 0xDB, 0x78, 0x6E, 0x66, 0x8E, 0x19, 0x72, 0x30, 0x7C, 0xC8, 0x91, 0xC2, 0x3E, -0x47, 0x07, 0x70, 0x3C, 0x55, 0x2A, 0x28, 0xA9, 0x24, 0xFF, 0xD9 +0x8E, 0xFF, 0x00, 0xE4, 0x6F, 0xF1, 0x2F, 0xFD, 0x87, 0x35, 0x4F, 0xFD, 0x2E, 0x9A, 0xA8, 0xA3, +0xEB, 0xFF, 0x00, 0x02, 0x7F, 0xC8, 0xA1, 0xE1, 0xAF, 0xFB, 0x01, 0xE9, 0x7F, 0xFA, 0x43, 0x0D, +0x7C, 0x81, 0xE3, 0xBF, 0xF9, 0x1B, 0xFC, 0x4B, 0xFF, 0x00, 0x61, 0xCD, 0x53, 0xFF, 0x00, 0x4B, +0xA6, 0xAF, 0xAF, 0xFC, 0x09, 0xFF, 0x00, 0x22, 0x87, 0x86, 0xBF, 0xEC, 0x07, 0xA5, 0xFF, 0x00, +0xE9, 0x0C, 0x35, 0xF2, 0x07, 0x8E, 0xFF, 0x00, 0xE4, 0x6F, 0xF1, 0x2F, 0xFD, 0x87, 0x35, 0x4F, +0xFD, 0x2E, 0x9A, 0x80, 0x3E, 0xBF, 0xF0, 0x27, 0xFC, 0x8A, 0x1E, 0x1A, 0xFF, 0x00, 0xB0, 0x1E, +0x97, 0xFF, 0x00, 0xA4, 0x30, 0xD7, 0xC8, 0x1E, 0x3B, 0xFF, 0x00, 0x91, 0xBF, 0xC4, 0xBF, 0xF6, +0x1C, 0xD5, 0x3F, 0xF4, 0xBA, 0x6A, 0xFA, 0xFF, 0x00, 0xC0, 0x9F, 0xF2, 0x28, 0x78, 0x6B, 0xFE, +0xC0, 0x7A, 0x5F, 0xFE, 0x90, 0xC3, 0x5F, 0x20, 0x78, 0xEF, 0xFE, 0x46, 0xFF, 0x00, 0x12, 0xFF, +0x00, 0xD8, 0x73, 0x54, 0xFF, 0x00, 0xD2, 0xE9, 0xA8, 0x03, 0xEB, 0xFF, 0x00, 0x02, 0x7F, 0xC8, +0xA1, 0xE1, 0xAF, 0xFB, 0x01, 0xE9, 0x7F, 0xFA, 0x43, 0x0D, 0x7C, 0x81, 0xE3, 0xBF, 0xF9, 0x1B, +0xFC, 0x4B, 0xFF, 0x00, 0x61, 0xCD, 0x53, 0xFF, 0x00, 0x4B, 0xA6, 0xAF, 0xAF, 0xFC, 0x09, 0xFF, +0x00, 0x22, 0x87, 0x86, 0xBF, 0xEC, 0x07, 0xA5, 0xFF, 0x00, 0xE9, 0x0C, 0x35, 0xF2, 0x07, 0x8E, +0xFF, 0x00, 0xE4, 0x6F, 0xF1, 0x2F, 0xFD, 0x87, 0x35, 0x4F, 0xFD, 0x2E, 0x9A, 0x80, 0x3E, 0xBF, +0xF0, 0x27, 0xFC, 0x8A, 0x1E, 0x1A, 0xFF, 0x00, 0xB0, 0x1E, 0x97, 0xFF, 0x00, 0xA4, 0x30, 0xD7, +0xC8, 0x1E, 0x3B, 0xFF, 0x00, 0x91, 0xBF, 0xC4, 0xBF, 0xF6, 0x1C, 0xD5, 0x3F, 0xF4, 0xBA, 0x6A, +0xFA, 0xFF, 0x00, 0xC0, 0x9F, 0xF2, 0x28, 0x78, 0x6B, 0xFE, 0xC0, 0x7A, 0x5F, 0xFE, 0x90, 0xC3, +0x5F, 0x20, 0x78, 0xEF, 0xFE, 0x46, 0xFF, 0x00, 0x12, 0xFF, 0x00, 0xD8, 0x73, 0x54, 0xFF, 0x00, +0xD2, 0xE9, 0xA8, 0x03, 0xEB, 0xFF, 0x00, 0x02, 0x7F, 0xC8, 0xA1, 0xE1, 0xAF, 0xFB, 0x01, 0xE9, +0x7F, 0xFA, 0x43, 0x0D, 0x7C, 0x81, 0xE3, 0xBF, 0xF9, 0x1B, 0xFC, 0x4B, 0xFF, 0x00, 0x61, 0xCD, +0x53, 0xFF, 0x00, 0x4B, 0xA6, 0xAF, 0xAF, 0xFC, 0x09, 0xFF, 0x00, 0x22, 0x87, 0x86, 0xBF, 0xEC, +0x07, 0xA5, 0xFF, 0x00, 0xE9, 0x0C, 0x35, 0xF2, 0x07, 0x8E, 0xFF, 0x00, 0xE4, 0x6F, 0xF1, 0x2F, +0xFD, 0x87, 0x35, 0x4F, 0xFD, 0x2E, 0x9A, 0x80, 0x3E, 0xBF, 0xF0, 0x27, 0xFC, 0x8A, 0x1E, 0x1A, +0xFF, 0x00, 0xB0, 0x1E, 0x97, 0xFF, 0x00, 0xA4, 0x30, 0xD7, 0xC8, 0x1E, 0x3B, 0xFF, 0x00, 0x91, +0xBF, 0xC4, 0xBF, 0xF6, 0x1C, 0xD5, 0x3F, 0xF4, 0xBA, 0x6A, 0xFA, 0xFF, 0x00, 0xC0, 0x9F, 0xF2, +0x28, 0x78, 0x6B, 0xFE, 0xC0, 0x7A, 0x5F, 0xFE, 0x90, 0xC3, 0x5F, 0x20, 0x78, 0xEF, 0xFE, 0x46, +0xFF, 0x00, 0x12, 0xFF, 0x00, 0xD8, 0x73, 0x54, 0xFF, 0x00, 0xD2, 0xE9, 0xA8, 0x03, 0xEB, 0xFF, +0x00, 0x02, 0x7F, 0xC8, 0xA1, 0xE1, 0xAF, 0xFB, 0x01, 0xE9, 0x7F, 0xFA, 0x43, 0x0D, 0x7C, 0x81, +0xE3, 0xBF, 0xF9, 0x1B, 0xFC, 0x4B, 0xFF, 0x00, 0x61, 0xCD, 0x53, 0xFF, 0x00, 0x4B, 0xA6, 0xAF, +0xAF, 0xFC, 0x09, 0xFF, 0x00, 0x22, 0x87, 0x86, 0xBF, 0xEC, 0x07, 0xA5, 0xFF, 0x00, 0xE9, 0x0C, +0x35, 0xF2, 0x07, 0x8E, 0xFF, 0x00, 0xE4, 0x6F, 0xF1, 0x2F, 0xFD, 0x87, 0x35, 0x4F, 0xFD, 0x2E, +0x9A, 0x80, 0x3E, 0xBF, 0xF0, 0x27, 0xFC, 0x8A, 0x1E, 0x1A, 0xFF, 0x00, 0xB0, 0x1E, 0x97, 0xFF, +0x00, 0xA4, 0x30, 0xD7, 0xC8, 0x1E, 0x3B, 0xFF, 0x00, 0x91, 0xBF, 0xC4, 0xBF, 0xF6, 0x1C, 0xD5, +0x3F, 0xF4, 0xBA, 0x6A, 0xFA, 0xFF, 0x00, 0xC0, 0x9F, 0xF2, 0x28, 0x78, 0x6B, 0xFE, 0xC0, 0x7A, +0x5F, 0xFE, 0x90, 0xC3, 0x5F, 0x20, 0x78, 0xEF, 0xFE, 0x46, 0xFF, 0x00, 0x12, 0xFF, 0x00, 0xD8, +0x73, 0x54, 0xFF, 0x00, 0xD2, 0xE9, 0xA8, 0x03, 0xEB, 0xFF, 0x00, 0x02, 0x7F, 0xC8, 0xA1, 0xE1, +0xAF, 0xFB, 0x01, 0xE9, 0x7F, 0xFA, 0x43, 0x0D, 0x7C, 0x81, 0xE3, 0xBF, 0xF9, 0x1B, 0xFC, 0x4B, +0xFF, 0x00, 0x61, 0xCD, 0x53, 0xFF, 0x00, 0x4B, 0xA6, 0xAF, 0xAF, 0xFC, 0x09, 0xFF, 0x00, 0x22, +0x87, 0x86, 0xBF, 0xEC, 0x07, 0xA5, 0xFF, 0x00, 0xE9, 0x0C, 0x35, 0xF2, 0x07, 0x8E, 0xFF, 0x00, +0xE4, 0x6F, 0xF1, 0x2F, 0xFD, 0x87, 0x35, 0x4F, 0xFD, 0x2E, 0x9A, 0x80, 0x3E, 0xBF, 0xF0, 0x27, +0xFC, 0x8A, 0x1E, 0x1A, 0xFF, 0x00, 0xB0, 0x1E, 0x97, 0xFF, 0x00, 0xA4, 0x30, 0xD7, 0xC8, 0x1E, +0x3B, 0xFF, 0x00, 0x91, 0xBF, 0xC4, 0xBF, 0xF6, 0x1C, 0xD5, 0x3F, 0xF4, 0xBA, 0x6A, 0xFA, 0xFF, +0x00, 0xC0, 0x9F, 0xF2, 0x28, 0x78, 0x6B, 0xFE, 0xC0, 0x7A, 0x5F, 0xFE, 0x90, 0xC3, 0x5F, 0x20, +0x78, 0xEF, 0xFE, 0x46, 0xFF, 0x00, 0x12, 0xFF, 0x00, 0xD8, 0x73, 0x54, 0xFF, 0x00, 0xD2, 0xE9, +0xA8, 0x03, 0xEB, 0xFF, 0x00, 0x02, 0x7F, 0xC8, 0xA1, 0xE1, 0xAF, 0xFB, 0x01, 0xE9, 0x7F, 0xFA, +0x43, 0x0D, 0x7C, 0x81, 0xE3, 0xBF, 0xF9, 0x1B, 0xFC, 0x4B, 0xFF, 0x00, 0x61, 0xCD, 0x53, 0xFF, +0x00, 0x4B, 0xA6, 0xAF, 0xAF, 0xFC, 0x09, 0xFF, 0x00, 0x22, 0x87, 0x86, 0xBF, 0xEC, 0x07, 0xA5, +0xFF, 0x00, 0xE9, 0x0C, 0x35, 0xF2, 0x07, 0x8E, 0xFF, 0x00, 0xE4, 0x6F, 0xF1, 0x2F, 0xFD, 0x87, +0x35, 0x4F, 0xFD, 0x2E, 0x9A, 0x80, 0x3E, 0xBF, 0xF0, 0x27, 0xFC, 0x8A, 0x1E, 0x1A, 0xFF, 0x00, +0xB0, 0x1E, 0x97, 0xFF, 0x00, 0xA4, 0x30, 0xD7, 0xC8, 0x1E, 0x3B, 0xFF, 0x00, 0x91, 0xBF, 0xC4, +0xBF, 0xF6, 0x1C, 0xD5, 0x3F, 0xF4, 0xBA, 0x6A, 0xFA, 0xFF, 0x00, 0xC0, 0x9F, 0xF2, 0x28, 0x78, +0x6B, 0xFE, 0xC0, 0x7A, 0x5F, 0xFE, 0x90, 0xC3, 0x5F, 0x20, 0x78, 0xEF, 0xFE, 0x46, 0xFF, 0x00, +0x12, 0xFF, 0x00, 0xD8, 0x73, 0x54, 0xFF, 0x00, 0xD2, 0xE9, 0xA8, 0x03, 0xEB, 0xFF, 0x00, 0x02, +0x7F, 0xC8, 0xA1, 0xE1, 0xAF, 0xFB, 0x01, 0xE9, 0x7F, 0xFA, 0x43, 0x0D, 0x7C, 0x81, 0xE3, 0xBF, +0xF9, 0x1B, 0xFC, 0x4B, 0xFF, 0x00, 0x61, 0xCD, 0x53, 0xFF, 0x00, 0x4B, 0xA6, 0xAF, 0xAF, 0xFC, +0x09, 0xFF, 0x00, 0x22, 0x87, 0x86, 0xBF, 0xEC, 0x07, 0xA5, 0xFF, 0x00, 0xE9, 0x0C, 0x35, 0xF2, +0x07, 0x8E, 0xFF, 0x00, 0xE4, 0x6F, 0xF1, 0x2F, 0xFD, 0x87, 0x35, 0x4F, 0xFD, 0x2E, 0x9A, 0x90, +0x8F, 0xFF, 0xD9 }; unsigned char inbuf[]={ //"Welcome logo" diff --git a/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h b/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h index 98a2bdea7..545c4002c 100755 --- a/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h +++ b/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h @@ -922,7 +922,7 @@ #define HUNTING_MCU_UART ENABLE #define HUNTING_IR_LED_940 ENABLE #define SF_EXIF_MN_BUF_SIZE 256 -#define SF_BASE_VERSION "7MR5RCwDC01" +#define SF_BASE_VERSION "7MR5RCwDC03" #define HW_S530 DISABLE #define DCF_DIR_NAME "MEDIA" /* 100MEDIA */ #define DCF_FILE_NAME "SYGW" /* SYFW0001.JPG */ diff --git a/code/application/source/cardv/SrcCode/System/SysMain_Exe.c b/code/application/source/cardv/SrcCode/System/SysMain_Exe.c index 936988d03..f5e566e2d 100755 --- a/code/application/source/cardv/SrcCode/System/SysMain_Exe.c +++ b/code/application/source/cardv/SrcCode/System/SysMain_Exe.c @@ -156,7 +156,7 @@ INT32 System_GetBootFirstMode(void) printf("%s:%d CamMode :%d\n", __FUNCTION__, __LINE__,puiPara->CamMode); if(GxUSB_GetIsUSBPlug()) { - return PRIMARY_MODE_PHOTO; + return PRIMARY_MODE_USBMSDC; } else if((PWR_ON_SETUP != PowerOnMode) /*|| (sf_get_fw_update())*/) { diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL.UIFlowMovie.lvglscr b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL.UIFlowMovie.lvglscr index c3f853793..f55aab3c4 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL.UIFlowMovie.lvglscr +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL.UIFlowMovie.lvglscr @@ -1820,58 +1820,6 @@ "text": "", "widget": "Label" }, - { - "auto size": true, - "class": "lv_img", - "click": false, - "drag": false, - "event callback": "", - "geometry": { - "height": 3, - "width": 320, - "x": 0, - "y": 119 - }, - "hidden": false, - "locked": false, - "name": "image_line", - "offset": { - "X": 0, - "Y": 0 - }, - "source": "sy_redline2", - "styles": [ - { - "part": 0, - "state": 0 - }, - { - "part": 0, - "state": 1 - }, - { - "part": 0, - "state": 2 - }, - { - "part": 0, - "state": 3 - }, - { - "part": 0, - "state": 4 - }, - { - "part": 0, - "state": 5 - }, - { - "part": 0, - "state": 6 - } - ], - "widget": "Image" - }, { "align": "Center", "class": "lv_label", @@ -1929,6 +1877,70 @@ ], "text": "Searching...", "widget": "Label" + }, + { + "align": "Center", + "class": "lv_label", + "click": false, + "drag": false, + "event callback": "", + "font type": "Font_Type0", + "geometry": { + "height": 3, + "width": 320, + "x": 0, + "y": 119 + }, + "hidden": false, + "locked": false, + "long mode": "Roll", + "name": "label_line", + "recolor": false, + "string id": "None", + "styles": [ + { + "Background": { + "bg_color": "0xff0000", + "bg_grad_color": "0xff0000", + "bg_opa": 255 + }, + "Text": { + "text_color": "0xff0000", + "text_font": "montserrat 16 4bpp", + "text_opa": 0, + "text_sel_bg_color": "0x00b495", + "text_sel_color": "0x3c3c3c" + }, + "part": 0, + "state": 0 + }, + { + "part": 0, + "state": 1 + }, + { + "part": 0, + "state": 2 + }, + { + "part": 0, + "state": 3 + }, + { + "part": 0, + "state": 4 + }, + { + "part": 0, + "state": 5 + }, + { + "part": 0, + "state": 6 + } + ], + "text": "", + "widget": "Label" } ] } diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL.UIFlowPhoto.lvglscr b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL.UIFlowPhoto.lvglscr index 7c3a31f66..7635c021d 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL.UIFlowPhoto.lvglscr +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL.UIFlowPhoto.lvglscr @@ -2395,11 +2395,12 @@ "widget": "Label" }, { - "auto size": true, - "class": "lv_img", + "align": "Center", + "class": "lv_label", "click": false, "drag": false, "event callback": "", + "font type": "Font_Type0", "geometry": { "height": 3, "width": 320, @@ -2408,14 +2409,24 @@ }, "hidden": false, "locked": false, - "name": "image_line", - "offset": { - "X": 0, - "Y": 0 - }, - "source": "sy_redline2", + "long mode": "Roll", + "name": "label_line", + "recolor": false, + "string id": "None", "styles": [ { + "Background": { + "bg_color": "0xff0000", + "bg_grad_color": "0xff0000", + "bg_opa": 255 + }, + "Text": { + "text_color": "0xff0000", + "text_font": "SF-UI-Text-Medium 16 1bpp", + "text_opa": 0, + "text_sel_bg_color": "0x00b495", + "text_sel_color": "0x3c3c3c" + }, "part": 0, "state": 0 }, @@ -2444,7 +2455,8 @@ "state": 6 } ], - "widget": "Image" + "text": "", + "widget": "Label" } ] } diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuGeneral.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuGeneral.c index 6247c0f37..23aefcf7f 100644 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuGeneral.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuGeneral.c @@ -1045,7 +1045,36 @@ void Option_Operating_Time_Key(lv_obj_t* obj, uint32_t key) break; } } +UINT16 sf_get_month_days(UINT16 year, UINT16 month) +{ + UINT16 maxday = 0; + + printf("sf_get_month_days year=%d, month=%d\n", year, month); + + switch(month) + { + case 4: + case 6: + case 9: + case 11: + maxday = 30; + break; + case 2: + if ((year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0))) + maxday = 29; + else + maxday = 28; + break; + default: + maxday = 31; + break; + } + + printf("maxday=%d\n", maxday); + + return maxday; +} // -------------------------------------------------------------------------- // DateTime // -------------------------------------------------------------------------- @@ -1084,7 +1113,10 @@ static void update_DateTime_Time_msg(lv_obj_t* obj) DBG_ERR("DateTime component is not initialized"); return; } - + if (gDateTime.Day > sf_get_month_days(gDateTime.Year, gDateTime.Mon)) + { + gDateTime.Day = sf_get_month_days(gDateTime.Year, gDateTime.Mon); + } // UIMenuStoreInfo *puiPara = sf_ui_para_get(); snprintf(DateTimeMOBuf, 3, "%02d", gDateTime.Mon); snprintf(DateTimeDDBuf, 3, "%02d", gDateTime.Day); @@ -1242,10 +1274,10 @@ void Option_DateTime_Key(lv_obj_t* obj, uint32_t key) } else if(DateTimeIndex == 2) { - if(gDateTime.Day > 1 && gDateTime.Day <= 31) + if(gDateTime.Day > 1 && gDateTime.Day <= sf_get_month_days(gDateTime.Year, gDateTime.Mon)) gDateTime.Day--; else - gDateTime.Day = 31; + gDateTime.Day = sf_get_month_days(gDateTime.Year, gDateTime.Mon); } else if(DateTimeIndex == 4) { @@ -1287,7 +1319,7 @@ void Option_DateTime_Key(lv_obj_t* obj, uint32_t key) } else if(DateTimeIndex == 2) { - if(gDateTime.Day >= 31) + if(gDateTime.Day >= sf_get_month_days(gDateTime.Year, gDateTime.Mon)) gDateTime.Day = 1; else gDateTime.Day++; @@ -1360,10 +1392,10 @@ void Option_DateTime_Key_Long_Press(lv_obj_t* obj, uint32_t key) } else if(DateTimeIndex == 2) { - if(gDateTime.Day > 0 && gDateTime.Day <= 31) + if(gDateTime.Day > 0 && gDateTime.Day <= sf_get_month_days(gDateTime.Year, gDateTime.Mon)) gDateTime.Day--; else - gDateTime.Day = 31; + gDateTime.Day = sf_get_month_days(gDateTime.Year, gDateTime.Mon); } else if(DateTimeIndex == 4) { @@ -1405,7 +1437,7 @@ void Option_DateTime_Key_Long_Press(lv_obj_t* obj, uint32_t key) } else if(DateTimeIndex == 2) { - if(gDateTime.Day >= 31) + if(gDateTime.Day >= sf_get_month_days(gDateTime.Year, gDateTime.Mon)) gDateTime.Day = 0; else gDateTime.Day++; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuQR.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuQR.c index 966c1ce16..1514b1983 100644 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuQR.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuQR.c @@ -1019,7 +1019,7 @@ void show_Camera_Info_page(lv_obj_t* obj) init_Matrix_style(); - btnm = lv_btnmatrix_create(lv_scr_act(), NULL); + btnm = lv_btnmatrix_create(obj, NULL); lv_btnmatrix_set_map(btnm, map); lv_obj_add_style(btnm, 0, &gMatrixStylebg); lv_obj_add_style(btnm, 1, &gMatrixStylebtn); @@ -1028,7 +1028,7 @@ void show_Camera_Info_page(lv_obj_t* obj) lv_btnmatrix_set_btn_ctrl_all(btnm, LV_BTNMATRIX_CTRL_CHECKABLE); lv_btnmatrix_set_focused_btn(btnm, 0); - CameraInfoImage = lv_img_create(lv_scr_act(), NULL); + CameraInfoImage = lv_img_create(obj, NULL); lv_obj_set_hidden(CameraInfoImage, false); lv_obj_set_click(CameraInfoImage, false); lv_obj_set_drag(CameraInfoImage, false); diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.c index cce29470d..2a5d56365 100644 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.c @@ -75,6 +75,7 @@ int Send_MenuCallback(UINT32 uiMessage, UINT32 uiParam) { puiPara->GprsMode = uwOption; #define INSTANT_OPTION 1 + #define HYBIRD_OPTION 2 if (INSTANT_OPTION == puiPara->GprsMode && SF_OFF == puiPara->PirDelaySwitch) { puiPara->PirDelaySwitch = SF_ON; @@ -83,28 +84,41 @@ int Send_MenuCallback(UINT32 uiMessage, UINT32 uiParam) puiPara->PirDelayTime.Sec = 15; } printf("\033[33m[Send_MenuCallback]GprsMode:%d\033[0m\n", puiPara->GprsMode); - break; + if (INSTANT_OPTION == puiPara->GprsMode || HYBIRD_OPTION == puiPara->GprsMode) + { + #define SYNC_SEND_TYPE_SETTING 0 + uwOption = SYNC_SEND_TYPE_SETTING; + printf("Sync send type settings.\n"); + memset(&(puiPara->TimeSend1), 0, sizeof(SF_PARA_TIME_S)); + memset(&(puiPara->TimeSend2), 0, sizeof(SF_PARA_TIME_S)); + memset(&(puiPara->TimeSend3), 0, sizeof(SF_PARA_TIME_S)); + memset(&(puiPara->TimeSend4), 0, sizeof(SF_PARA_TIME_S)); + } + else + { + break; + } } case IDM_SEND_TYPE: { - puiPara->SendType = uwOption; + puiPara->SendType = (uwOption == 3 ? 4 : uwOption); puiPara->TimeSend4Switch = 0; puiPara->TimeSend3Switch = 0; puiPara->TimeSend2Switch = 0; puiPara->TimeSend1Switch = 0; - switch (uwOption) + switch (puiPara->SendType) { case FOUR_TIME_DAY: puiPara->TimeSend4Switch = 1; - // break; - case TWICE_DAY: puiPara->TimeSend3Switch = 1; // break; - case ONCE_DAY: + case TWICE_DAY: puiPara->TimeSend2Switch = 1; // break; - default: + case ONCE_DAY: puiPara->TimeSend1Switch = 1; + // break; + default: break; } printf("\033[33m[Send_MenuCallback]SendType:%d\033[0m\n", puiPara->SendType); @@ -119,8 +133,8 @@ int Send_MenuCallback(UINT32 uiMessage, UINT32 uiParam) case IDM_GPS: { #define GPRS_OFF_OPTION 0 - puiPara->GprsSwitch = (GPRS_OFF_OPTION == uwOption ? SF_OFF : SF_ON); - printf("\033[33m[Send_MenuCallback]GprsSwitch:%d\033[0m\n", puiPara->GprsSwitch); + puiPara->GpsSwitch = (GPRS_OFF_OPTION == uwOption ? SF_OFF : SF_ON); + printf("\033[33m[Send_MenuCallback]GpsSwitch:%d\033[0m\n", puiPara->GpsSwitch); break; } default: @@ -298,6 +312,7 @@ static void init_Matrix_style(void) } +static lv_obj_t* SelectedImage = NULL; // -------------------------------------------------------------------------- // MaxNum // -------------------------------------------------------------------------- @@ -324,10 +339,17 @@ void show_MaxNum_page(lv_obj_t* obj) sprintf(result, "%02d", puiPara->SendMaxNum); MaxNumValueLabel = lv_label_create(obj, NULL); lv_obj_set_pos(MaxNumValueLabel, 145, 93); - lv_obj_set_size(MaxNumValueLabel, 30, 24); + lv_obj_set_size(MaxNumValueLabel, 32, 24); lv_obj_add_style(MaxNumValueLabel, 0, &gMatrixStylebtn); - lv_obj_set_state(MaxNumValueLabel, LV_STATE_DEFAULT); + lv_obj_set_state(MaxNumValueLabel, LV_STATE_FOCUSED); lv_label_set_text(MaxNumValueLabel, result); + SelectedImage = lv_img_create(obj, NULL); + lv_obj_set_hidden(SelectedImage, false); + lv_obj_set_click(SelectedImage, false); + lv_obj_set_drag(SelectedImage, false); + lv_obj_set_size(SelectedImage, 32, 88); + lv_img_set_src(SelectedImage, &sf_pwd_down_up); + lv_obj_set_pos(SelectedImage, 145, 62); } void hidde_MaxNum_page(void) @@ -335,10 +357,17 @@ void hidde_MaxNum_page(void) if(MaxNumTitleLabel) { lv_obj_del(MaxNumTitleLabel); + MaxNumTitleLabel = NULL; } if(MaxNumValueLabel) { lv_obj_del(MaxNumValueLabel); + MaxNumValueLabel = NULL; + } + if(SelectedImage) + { + lv_obj_del(SelectedImage); + SelectedImage = NULL; } } @@ -362,7 +391,7 @@ void Option_MaxNum_Key(lv_obj_t* obj, uint32_t key) puiPara->SendMaxNum--; else puiPara->SendMaxNum = 99; - sprintf(result, "%d", puiPara->SendMaxNum); + sprintf(result, "%02d", puiPara->SendMaxNum); lv_label_set_text(MaxNumValueLabel, result); break; case LV_USER_KEY_PREV: @@ -371,7 +400,7 @@ void Option_MaxNum_Key(lv_obj_t* obj, uint32_t key) puiPara->SendMaxNum++; else puiPara->SendMaxNum = 1; - sprintf(result, "%d", puiPara->SendMaxNum); + sprintf(result, "%02d", puiPara->SendMaxNum); lv_label_set_text(MaxNumValueLabel, result); break; case LV_USER_KEY_LEFT: @@ -436,7 +465,6 @@ static const char* SendTimeMap_1[BUTTON_NUM_4] = // static int CameraInfoIndex = 0; // static lv_obj_t *CameraInfolabel = NULL; static lv_obj_t *SendTypeImage = NULL; -static lv_obj_t* SelectedImage = NULL; static lv_obj_t * btnm = NULL; static const char * map[] = {"1", "2", ""}; @@ -491,7 +519,6 @@ void show_send_time_page(lv_obj_t* obj, const int sendType) SendTimeMatrixObj_1 = NULL; SendTimeMatrixObj_0 = NULL; btnm = NULL; - SelectedImage = NULL; init_Matrix_style(); diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.h b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.h index 233ea450e..331bc4e85 100644 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.h +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuSend.h @@ -7,8 +7,8 @@ extern TM_ITEM gTM_ITEMS_SEND[]; enum SendType { ONCE_DAY = 1, - TWICE_DAY, - FOUR_TIME_DAY, + TWICE_DAY = 2, + FOUR_TIME_DAY = 4, END }; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/UIFlowMenuCommonItemEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/UIFlowMenuCommonItemEventCallback.c index 329172162..4da122afa 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/UIFlowMenuCommonItemEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/UIFlowMenuCommonItemEventCallback.c @@ -174,9 +174,9 @@ static void load_info_from_sf(void) SysSetFlag(IDF_DATE_AND_TIME, puiPara->DateAuto == SF_DATE_AUTO ? OPTION_0 : OPTION_1); SysSetFlag(IDF_MAX_NUM_DAY, puiPara->SendMaxNum == 0 ? OPTION_0 : OPTION_1); SysSetFlag(IDF_SETTINGS_CHECK, puiPara->GprsMode); - SysSetFlag(IDF_SEND_TYPE, puiPara->SendType); + SysSetFlag(IDF_SEND_TYPE, (puiPara->SendType == 4 ? 3 : puiPara->SendType)); SysSetFlag(IDF_CHECK_IN_PHOTO, puiPara->PicUpDailyReport); - SysSetFlag(IDF_GPS, puiPara->GprsSwitch); + SysSetFlag(IDF_GPS, puiPara->GpsSwitch); SysSetFlag(IDF_BATTERY_TYPE, puiPara->BatteryType); SysSetFlag(IDF_SD_LOOP, puiPara->SdLoopSwitch); } @@ -214,8 +214,9 @@ static void LV_MenuItem_OnPrev(lv_obj_t* obj) TM_PAGE *pPage; TM_ITEM *pItem; BOOL uSel_Jump = false; - + pPage = &pMenu->pPages[pMenu->SelPage]; + // pItem = &pPage->pItems[pPage->SelItem]; if (pMenu->Status == TMS_ON_TAB){ if(pPage->SelItem == 0){ // DBG_WRN("already foucs on tab !"); @@ -227,6 +228,10 @@ static void LV_MenuItem_OnPrev(lv_obj_t* obj) } }else{ OneMore: + // pItem = &pPage->pItems[pPage->SelItem - 1]; + // if(((pItem->ItemId == IDM_BATTERY_TYPE) && 0)){ + // pPage->SelItem = 0; + // } //if item = 0; up key foucs to tab if(pPage->SelItem == 0){ pMenu->Status = TMS_ON_TAB; @@ -236,8 +241,6 @@ static void LV_MenuItem_OnPrev(lv_obj_t* obj) } pPage->SelItem--; pItem = &pPage->pItems[pPage->SelItem]; - // BOOL uItem_Locked = true; // TODO: - // if(((pItem->ItemId == IDM_CAMERA_FW_UPGRADE) || (pItem->ItemId == IDM_MODULE_FW_UPGRADE)) && uItem_Locked){ if((pItem->ItemId == IDM_CAMERA_FW_UPGRADE && is_camera_fw_upgrade() == NOT_UPGRADABLE) || (pItem->ItemId == IDM_MODULE_FW_UPGRADE && is_module_fw_upgrade() == NOT_UPGRADABLE) || (pItem->ItemId == IDM_SEND_TYPE && is_send_type_disabel() == SEND_TYPE_DISABLE)) { @@ -260,20 +263,28 @@ static void LV_MenuItem_OnNext(lv_obj_t* obj) TM_PAGE *pPage; TM_ITEM *pItem; BOOL uSel_Jump = false; + // static BOOL FisrtSel_Jump = false; pPage = &pMenu->pPages[pMenu->SelPage]; -// DBG_DUMP("\r\n %s pMenu Status= %d\r\n", __func__, pMenu->Status); + pItem = &pPage->pItems[pPage->SelItem]; + if (pMenu->Status == TMS_ON_TAB){ - pMenu->Status = TMS_ON_ITEM; - pPage->SelItem = 0; + pMenu->Status = TMS_ON_ITEM; + pPage->SelItem = 0; + // pMenu->Status = TMS_ON_ITEM; + // if(((pItem->ItemId == IDM_BATTERY_TYPE) && 0)){ + // pPage->SelItem = 1; + // FisrtSel_Jump = true; + // }else{ + // pPage->SelItem = 0; + // } LV_MenuCommonItem_UpdateContent(pMenu); lv_plugin_menu_select_item(menu_item, 0); + // lv_plugin_menu_select_item(menu_item, pPage->SelItem); }else{ Onetime: pPage->SelItem++; pItem = &pPage->pItems[pPage->SelItem]; - // BOOL uItem_Locked = true; // TODO: - // if(((pItem->ItemId == IDM_CAMERA_FW_UPGRADE) || (pItem->ItemId == IDM_MODULE_FW_UPGRADE)) && uItem_Locked){ if((pItem->ItemId == IDM_CAMERA_FW_UPGRADE && is_camera_fw_upgrade() == NOT_UPGRADABLE) || (pItem->ItemId == IDM_MODULE_FW_UPGRADE && is_module_fw_upgrade() == NOT_UPGRADABLE) || (pItem->ItemId == IDM_SEND_TYPE && is_send_type_disabel() == SEND_TYPE_DISABLE)){ @@ -284,14 +295,20 @@ static void LV_MenuItem_OnNext(lv_obj_t* obj) if(pPage->SelItem >= pPage->Count){ pPage->SelItem = 0; + // if(FisrtSel_Jump /**&& uItem_Locked**/){ + // pPage->SelItem = 1; + // }else{ + // pPage->SelItem = 0; + // } LV_MenuCommonItem_UpdateContent(pMenu); lv_plugin_menu_select_item(menu_item, pPage->SelItem); return; - } + } //#NT#2023/11/03#Eric - begin //#NT#Support IVOT_N12144_CO-148 -5 PrevSel_Img = false; //#NT#2023/11/03#Eric - end + LV_MenuCommonItem_UpdateContent(pMenu); lv_plugin_menu_select_next_item(menu_item); if(uSel_Jump){ @@ -707,6 +724,11 @@ static void LV_MenuCommonItem_UpdateContent(TM_MENU *pMenu) lv_plugin_menu_set_item_state(menu_item, i, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); lv_plugin_menu_set_item_img_id(menu_item, i, LV_PLUGIN_MENU_ITEM_VISIBLE_STATE_NUM, LV_PLUGIN_IMG_ID_SF_SEND_TYPE_DIS); } + else if (pItem->ItemId == IDM_BATTERY_TYPE && 0) + { + lv_plugin_menu_set_item_state(menu_item, i, LV_PLUGIN_MENU_ITEM_STATE_DISABLED); + lv_plugin_menu_set_item_img_id(menu_item, i, LV_PLUGIN_MENU_ITEM_VISIBLE_STATE_NUM, LV_PLUGIN_IMG_ID_SF_SEND_TYPE_DIS); + } else { lv_plugin_menu_set_item_img_id(menu_item, i, LV_PLUGIN_MENU_ITEM_VISIBLE_STATE_NUM, pItem->IconId); } @@ -722,7 +744,11 @@ static void LV_MenuCommonItem_UpdateContent(TM_MENU *pMenu) if(((pPage->SelItem%PER_PAGE_NUM) == 0)&&(pMenu->Status == TMS_ON_ITEM)){ lv_plugin_img_set_src(image_option_1_scr_uiflowmenucommonitem, LV_PLUGIN_IMG_ID_SF_NEXT2); }else{ - lv_plugin_img_set_src(image_option_1_scr_uiflowmenucommonitem, LV_PLUGIN_IMG_ID_SF_NEXT1); + if(pItem->ItemId == IDM_BATTERY_TYPE && 0){ + lv_plugin_img_set_src(image_option_1_scr_uiflowmenucommonitem, LV_PLUGIN_IMG_ID_SF_NEXT_DIS); + } else { + lv_plugin_img_set_src(image_option_1_scr_uiflowmenucommonitem, LV_PLUGIN_IMG_ID_SF_NEXT1); + } } //#NT#2023/11/03#Eric - end if(pItem->ItemId == IDM_NETWORK_SELECTION) @@ -1018,6 +1044,7 @@ static void UIFlowMenuCommonItem_ChildScrClose(lv_obj_t* obj,const LV_USER_EVENT set_indev_keypad_group(obj); if(msg){ if(msg->event == NVTRET_ENTER_MENU){ + load_info_from_sf(); TM_MENU* pMenu = TM_GetMenu(); TM_PAGE *pPage; // TM_ITEM *pItem; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovie.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovie.c index b0898b075..4b2cc85ec 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovie.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovie.c @@ -42,8 +42,8 @@ lv_obj_t* image_wifi_scr_uiflowmovie; lv_obj_t* image_motiondetect_scr_uiflowmovie; lv_obj_t* label_zoom_scr_uiflowmovie; lv_obj_t* label_maxtime_scr_uiflowmovie; -lv_obj_t* image_line_scr_uiflowmovie; lv_obj_t* label_sim_scr_uiflowmovie; +lv_obj_t* label_line_scr_uiflowmovie; lv_obj_t* UIFlowMovie_create(){ lv_obj_t *parent = lv_plugin_scr_create(); @@ -1770,55 +1770,6 @@ lv_obj_t* UIFlowMovie_create(){ label_maxtime_scr_uiflowmovie = label_maxtime; - static lv_style_t image_line_s0; - lv_style_init(&image_line_s0); - STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&image_line_s0, LV_STATE_DEFAULT, color); - STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&image_line_s0, LV_STATE_DEFAULT, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&image_line_s0, LV_STATE_DEFAULT, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&image_line_s0, LV_STATE_DEFAULT, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_image_recolor(&image_line_s0, LV_STATE_DEFAULT, color); - STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&image_line_s0, LV_STATE_CHECKED, color); - STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&image_line_s0, LV_STATE_CHECKED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&image_line_s0, LV_STATE_CHECKED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&image_line_s0, LV_STATE_CHECKED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_image_recolor(&image_line_s0, LV_STATE_CHECKED, color); - STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&image_line_s0, LV_STATE_FOCUSED, color); - STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&image_line_s0, LV_STATE_FOCUSED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&image_line_s0, LV_STATE_FOCUSED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&image_line_s0, LV_STATE_FOCUSED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_image_recolor(&image_line_s0, LV_STATE_FOCUSED, color); - STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&image_line_s0, LV_STATE_EDITED, color); - STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&image_line_s0, LV_STATE_EDITED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&image_line_s0, LV_STATE_EDITED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&image_line_s0, LV_STATE_EDITED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_image_recolor(&image_line_s0, LV_STATE_EDITED, color); - STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&image_line_s0, LV_STATE_HOVERED, color); - STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&image_line_s0, LV_STATE_HOVERED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&image_line_s0, LV_STATE_HOVERED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&image_line_s0, LV_STATE_HOVERED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_image_recolor(&image_line_s0, LV_STATE_HOVERED, color); - STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&image_line_s0, LV_STATE_PRESSED, color); - STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&image_line_s0, LV_STATE_PRESSED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&image_line_s0, LV_STATE_PRESSED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&image_line_s0, LV_STATE_PRESSED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_image_recolor(&image_line_s0, LV_STATE_PRESSED, color); - STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&image_line_s0, LV_STATE_DISABLED, color); - STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&image_line_s0, LV_STATE_DISABLED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&image_line_s0, LV_STATE_DISABLED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&image_line_s0, LV_STATE_DISABLED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_image_recolor(&image_line_s0, LV_STATE_DISABLED, color); - lv_obj_t *image_line = lv_img_create(parent, NULL); - lv_obj_set_hidden(image_line, false); - lv_obj_set_click(image_line, false); - lv_obj_set_drag(image_line, false); - lv_obj_set_pos(image_line, 0, 119); - lv_obj_set_size(image_line, 320, 3); - lv_img_set_src(image_line, &sy_redline2); - lv_obj_add_style(image_line, 0, &image_line_s0); - - image_line_scr_uiflowmovie = image_line; - - static lv_style_t label_sim_s0; lv_style_init(&label_sim_s0); STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&label_sim_s0, LV_STATE_DEFAULT, color); @@ -1881,5 +1832,68 @@ lv_obj_t* UIFlowMovie_create(){ label_sim_scr_uiflowmovie = label_sim; + static lv_style_t label_line_s0; + lv_style_init(&label_line_s0); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_color(&label_line_s0, LV_STATE_DEFAULT, color); + lv_style_set_bg_opa(&label_line_s0,LV_STATE_DEFAULT,255); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_grad_color(&label_line_s0, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_line_s0, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_text_color(&label_line_s0, LV_STATE_DEFAULT, color); + lv_style_set_text_opa(&label_line_s0,LV_STATE_DEFAULT,0); + lv_style_set_text_font(&label_line_s0,LV_STATE_DEFAULT,&lv_font_montserrat_16); + STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_line_s0, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_line_s0, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_color(&label_line_s0, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_grad_color(&label_line_s0, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_line_s0, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_text_color(&label_line_s0, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_line_s0, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_line_s0, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_color(&label_line_s0, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_grad_color(&label_line_s0, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_line_s0, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_text_color(&label_line_s0, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_line_s0, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_line_s0, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_color(&label_line_s0, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_grad_color(&label_line_s0, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_line_s0, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_text_color(&label_line_s0, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_line_s0, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_line_s0, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_color(&label_line_s0, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_grad_color(&label_line_s0, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_line_s0, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_text_color(&label_line_s0, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_line_s0, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_line_s0, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_color(&label_line_s0, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_grad_color(&label_line_s0, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_line_s0, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_text_color(&label_line_s0, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_line_s0, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_line_s0, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_color(&label_line_s0, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_grad_color(&label_line_s0, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_line_s0, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_text_color(&label_line_s0, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_line_s0, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_line_s0, LV_STATE_DISABLED, color); + lv_obj_t *label_line = lv_label_create(parent, NULL); + lv_obj_set_hidden(label_line, false); + lv_obj_set_click(label_line, false); + lv_obj_set_drag(label_line, false); + lv_plugin_label_allocate_ext_attr(label_line); + lv_plugin_label_allocate_ext_attr(label_line); + lv_plugin_label_set_font_type(label_line, LV_PLUGIN_LANGUAGE_FONT_TYPE_0); + lv_label_set_align(label_line, LV_LABEL_ALIGN_CENTER); + lv_label_set_long_mode(label_line, LV_LABEL_LONG_SROLL); + lv_obj_set_pos(label_line, 0, 119); + lv_obj_set_size(label_line, 320, 3); + lv_obj_add_style(label_line, 0, &label_line_s0); + + label_line_scr_uiflowmovie = label_line; + + return parent; } diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovie.h b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovie.h index 5411e5245..b0b3b2320 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovie.h +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovie.h @@ -50,8 +50,8 @@ extern lv_obj_t* image_wifi_scr_uiflowmovie; extern lv_obj_t* image_motiondetect_scr_uiflowmovie; extern lv_obj_t* label_zoom_scr_uiflowmovie; extern lv_obj_t* label_maxtime_scr_uiflowmovie; -extern lv_obj_t* image_line_scr_uiflowmovie; extern lv_obj_t* label_sim_scr_uiflowmovie; +extern lv_obj_t* label_line_scr_uiflowmovie; /********************** * GLOBAL PROTOTYPES diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovieEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovieEventCallback.c index 380c689db..6ceb46cc7 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovieEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovieEventCallback.c @@ -397,7 +397,7 @@ static void update_rec_time(void) lv_obj_set_hidden(label_maxtime_scr_uiflowmovie,true); } - lv_label_set_text_fmt(label_rec_time_scr_uiflowmovie, "%02d:%02d:%02d", rec_sec / 3600, (rec_sec % 3600) / 60, (rec_sec % 3600) % 60); + lv_label_set_text_fmt(label_rec_time_scr_uiflowmovie, "%02d:%02d:%02d", rec_sec / 3600, (rec_sec % 3600) / 60, (rec_sec % 3600) % 60 + 1); } static void update_wifi(void) @@ -1415,22 +1415,23 @@ static void UIFlowMovie_NVTMSG(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* m #if HUNTING_CAMERA_MCU == ENABLE if(puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO || puiPara->CamMode == SF_CAM_MODE_VIDEO2){ + sf_set_phone_shot_status(PHONE_SHOT_STOP); if(sf_get_mode_flag()) { sf_wifi_server_stop_shoot_respond(0); } #else - if(SysGetFlag(CamMode) == SF_CAM_MODE_PHOTO_VIDEO){ + if(SysGetFlag(CamMode) == SF_CAM_MODE_PHOTO_VIDEO){ #endif - - int iCurrMode = System_GetState(SYS_STATE_CURRMODE); - int iNextMode = PRIMARY_MODE_PHOTO; - UI_SetData(FL_PreMode, iCurrMode); - UI_SetData(FL_NextMode, iNextMode); - Ux_PostEvent(NVTEVT_SYSTEM_MODE, 1, iNextMode); - } + + int iCurrMode = System_GetState(SYS_STATE_CURRMODE); + int iNextMode = PRIMARY_MODE_PHOTO; + UI_SetData(FL_PreMode, iCurrMode); + UI_SetData(FL_NextMode, iNextMode); + Ux_PostEvent(NVTEVT_SYSTEM_MODE, 1, iNextMode); + } break; - } + } case NVTEVT_CB_MOVIE_WR_ERROR: { @@ -1539,7 +1540,7 @@ void UIFlowMovieEventCallback(lv_obj_t* obj, lv_event_t event) case LV_USER_EVENT_KEY_RELEASE: { uint32_t* key = (uint32_t*)lv_event_get_data(); - if (LV_KEY_ENTER != *key) + if (LV_KEY_ENTER != *key || PHONE_SHOT_START == sf_get_phone_shot_status()) { lv_indev_wait_release(lv_indev_get_act()); break; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhoto.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhoto.c index f51cc58e4..2d198a873 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhoto.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhoto.c @@ -51,7 +51,7 @@ lv_obj_t* label_2_scr_uiflowphoto; lv_obj_t* button_3_scr_uiflowphoto; lv_obj_t* label_3_scr_uiflowphoto; lv_obj_t* label_sim_scr_uiflowphoto; -lv_obj_t* image_line_scr_uiflowphoto; +lv_obj_t* label_line_scr_uiflowphoto; lv_obj_t* UIFlowPhoto_create(){ lv_obj_t *parent = lv_plugin_scr_create(); @@ -2317,53 +2317,67 @@ lv_obj_t* UIFlowPhoto_create(){ label_sim_scr_uiflowphoto = label_sim; - static lv_style_t image_line_s0; - lv_style_init(&image_line_s0); - STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&image_line_s0, LV_STATE_DEFAULT, color); - STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&image_line_s0, LV_STATE_DEFAULT, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&image_line_s0, LV_STATE_DEFAULT, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&image_line_s0, LV_STATE_DEFAULT, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_image_recolor(&image_line_s0, LV_STATE_DEFAULT, color); - STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&image_line_s0, LV_STATE_CHECKED, color); - STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&image_line_s0, LV_STATE_CHECKED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&image_line_s0, LV_STATE_CHECKED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&image_line_s0, LV_STATE_CHECKED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_image_recolor(&image_line_s0, LV_STATE_CHECKED, color); - STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&image_line_s0, LV_STATE_FOCUSED, color); - STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&image_line_s0, LV_STATE_FOCUSED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&image_line_s0, LV_STATE_FOCUSED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&image_line_s0, LV_STATE_FOCUSED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_image_recolor(&image_line_s0, LV_STATE_FOCUSED, color); - STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&image_line_s0, LV_STATE_EDITED, color); - STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&image_line_s0, LV_STATE_EDITED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&image_line_s0, LV_STATE_EDITED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&image_line_s0, LV_STATE_EDITED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_image_recolor(&image_line_s0, LV_STATE_EDITED, color); - STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&image_line_s0, LV_STATE_HOVERED, color); - STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&image_line_s0, LV_STATE_HOVERED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&image_line_s0, LV_STATE_HOVERED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&image_line_s0, LV_STATE_HOVERED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_image_recolor(&image_line_s0, LV_STATE_HOVERED, color); - STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&image_line_s0, LV_STATE_PRESSED, color); - STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&image_line_s0, LV_STATE_PRESSED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&image_line_s0, LV_STATE_PRESSED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&image_line_s0, LV_STATE_PRESSED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_image_recolor(&image_line_s0, LV_STATE_PRESSED, color); - STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&image_line_s0, LV_STATE_DISABLED, color); - STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&image_line_s0, LV_STATE_DISABLED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&image_line_s0, LV_STATE_DISABLED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_outline_color(&image_line_s0, LV_STATE_DISABLED, color); - STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_image_recolor(&image_line_s0, LV_STATE_DISABLED, color); - lv_obj_t *image_line = lv_img_create(parent, NULL); - lv_obj_set_hidden(image_line, false); - lv_obj_set_click(image_line, false); - lv_obj_set_drag(image_line, false); - lv_obj_set_pos(image_line, 0, 119); - lv_obj_set_size(image_line, 320, 3); - lv_img_set_src(image_line, &sy_redline2); - lv_obj_add_style(image_line, 0, &image_line_s0); + static lv_style_t label_line_s0; + lv_style_init(&label_line_s0); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_color(&label_line_s0, LV_STATE_DEFAULT, color); + lv_style_set_bg_opa(&label_line_s0,LV_STATE_DEFAULT,255); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_grad_color(&label_line_s0, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_line_s0, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_text_color(&label_line_s0, LV_STATE_DEFAULT, color); + lv_style_set_text_opa(&label_line_s0,LV_STATE_DEFAULT,0); + lv_style_set_text_font(&label_line_s0,LV_STATE_DEFAULT,&sf_ui_text_medium_16_1bpp); + STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_line_s0, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_line_s0, LV_STATE_DEFAULT, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_color(&label_line_s0, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_grad_color(&label_line_s0, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_line_s0, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_text_color(&label_line_s0, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_line_s0, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_line_s0, LV_STATE_CHECKED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_color(&label_line_s0, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_grad_color(&label_line_s0, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_line_s0, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_text_color(&label_line_s0, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_line_s0, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_line_s0, LV_STATE_FOCUSED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_color(&label_line_s0, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_grad_color(&label_line_s0, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_line_s0, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_text_color(&label_line_s0, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_line_s0, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_line_s0, LV_STATE_EDITED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_color(&label_line_s0, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_grad_color(&label_line_s0, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_line_s0, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_text_color(&label_line_s0, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_line_s0, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_line_s0, LV_STATE_HOVERED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_color(&label_line_s0, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_grad_color(&label_line_s0, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_line_s0, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_text_color(&label_line_s0, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_line_s0, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_line_s0, LV_STATE_PRESSED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_color(&label_line_s0, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_bg_grad_color(&label_line_s0, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_line_s0, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x03, 0xff, 0x00, 0x00) ; lv_style_set_text_color(&label_line_s0, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_line_s0, LV_STATE_DISABLED, color); + STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_line_s0, LV_STATE_DISABLED, color); + lv_obj_t *label_line = lv_label_create(parent, NULL); + lv_obj_set_hidden(label_line, false); + lv_obj_set_click(label_line, false); + lv_obj_set_drag(label_line, false); + lv_plugin_label_allocate_ext_attr(label_line); + lv_plugin_label_allocate_ext_attr(label_line); + lv_plugin_label_set_font_type(label_line, LV_PLUGIN_LANGUAGE_FONT_TYPE_0); + lv_label_set_align(label_line, LV_LABEL_ALIGN_CENTER); + lv_label_set_long_mode(label_line, LV_LABEL_LONG_SROLL); + lv_obj_set_pos(label_line, 0, 119); + lv_obj_set_size(label_line, 320, 3); + lv_obj_add_style(label_line, 0, &label_line_s0); - image_line_scr_uiflowphoto = image_line; + label_line_scr_uiflowphoto = label_line; return parent; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhoto.h b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhoto.h index 810da22e0..6e7ad595e 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhoto.h +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhoto.h @@ -59,7 +59,7 @@ extern lv_obj_t* label_2_scr_uiflowphoto; extern lv_obj_t* button_3_scr_uiflowphoto; extern lv_obj_t* label_3_scr_uiflowphoto; extern lv_obj_t* label_sim_scr_uiflowphoto; -extern lv_obj_t* image_line_scr_uiflowphoto; +extern lv_obj_t* label_line_scr_uiflowphoto; /********************** * GLOBAL PROTOTYPES diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c index 9d8ea7640..1d6a0655c 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c @@ -59,6 +59,7 @@ static void task_update_icons_timer_cb(lv_task_t* task); #define LONG_PRESS_INTERVAL 500 static unsigned long KeyLeftPressingTimeMs = 0; static unsigned long KeyDownPressingTimeMs = 0; +static int gSendingStatus = FILE_SENDING_GUI_END; #define SENDING_KEEP_SHOW -1 #define SENDING_NOT_SHOW 0 @@ -70,6 +71,7 @@ static BOOL g_PhotoBgInitFileSys = FALSE; static BOOL g_SysStrg_Chg = FALSE; //#NT#2023/11/21#Eric - end +static void sf_show_send_text(lv_obj_t* obj, const unsigned short status); static lv_obj_t *g_preview_info_msgbox = NULL; static lv_obj_t *g_preview_info_label = NULL; static int g_preview_info_ishidden = true; @@ -570,8 +572,7 @@ static void update_4g_module_icon(void) signal_icon_show(signal_level); signal = signal_new; } - // else if (sf_cardv_get_sim_insert() == NO_SIM_CARD) - else if (SIM_CARD_NOT_INIT == puiPara->NetGeneration) + else if (sf_cardv_get_sim_insert() == NO_SIM_CARD) { signal_icon_hidden(0); signal_icon_hidden(1); @@ -582,18 +583,28 @@ static void update_4g_module_icon(void) set_warning_label_text(label_tips_scr_uiflowphoto); lv_label_set_text(label_tips_scr_uiflowphoto,"Check Sim"); lv_obj_set_hidden(label_sim_scr_uiflowphoto, true); - } else { + } + else if (signal != signal_new && 0 == signal_new) + { + signal_icon_hidden(0); + signal_icon_hidden(1); + signal_icon_hidden(2); + signal_icon_hidden(3); + signal_icon_hidden(4); + lv_obj_set_hidden(label_tips_scr_uiflowphoto, false); + set_warning_label_text(label_tips_scr_uiflowphoto); + lv_label_set_text(label_tips_scr_uiflowphoto,"No Signal"); + lv_obj_set_hidden(label_sim_scr_uiflowphoto, true); + signal = signal_new; + } + else { // Nothing changed. // printf(" nothing changed.\n"); } - if (SENDING_NOT_SHOW < SendMsgShow) - { - SendMsgShow--; - if (SENDING_NOT_SHOW == SendMsgShow) - { - lv_obj_set_hidden(label_sim_scr_uiflowphoto, true); - } - } + // if(sf_cardv_4G_status_get() == SF_4G_SENDING) + // { + + // } const int EMPTY_IMAGE = 0; lv_plugin_res_id res[] = { EMPTY_IMAGE, @@ -615,7 +626,40 @@ const int EMPTY_IMAGE = 0; lv_obj_set_hidden(image_4g_scr_uiflowphoto, false); lv_plugin_img_set_src(image_4g_scr_uiflowphoto, res[index]); } - +static void update_gps_status(void) +{ + if (SENDING_NOT_SHOW < SendMsgShow) + { + SendMsgShow--; + if (SENDING_NOT_SHOW == SendMsgShow) + { + lv_obj_set_hidden(label_sim_scr_uiflowphoto, true); + } + return; + } + if (TRUE == sf_get_send_statu()) + { + sf_show_send_text(UIFlowPhoto, FILE_SENDING_GUI_START_SENDING); + return; + } + SF_GPS_STATUS_E status = sf_cardv_get_gps_status(); + switch (status) + { + case SF_GPS_SEARCHING_START: + { + lv_obj_set_hidden(label_sim_scr_uiflowphoto, false); + lv_label_set_text(label_sim_scr_uiflowphoto, "GPS searching..."); + break; + } + case SF_GPS_SEARCHING_STOP: + { + lv_obj_set_hidden(label_sim_scr_uiflowphoto, true); + break; + } + default: + break; + } +} static void update_camera_message(void) { UIMenuStoreInfo *puiPara = sf_ui_para_get(); @@ -836,6 +880,7 @@ static void update_icons(void) update_wifi(); update_bluetooth(); update_camera_mode(); + update_gps_status(); } static void FlowPhoto_InitStartupFuncs(void) @@ -1645,6 +1690,7 @@ void UIFlowPhoto_UpdateInfo(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg) Ux_PostEvent(NVTEVT_SYSTEM_MODE, 1, iNextMode); } else { + sf_set_phone_shot_status(PHONE_SHOT_STOP); if(sf_get_mode_flag()) { sf_wifi_server_stop_shoot_respond(0); @@ -1686,6 +1732,7 @@ void UIFlowPhoto_UpdateInfo(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg) static void sf_show_send_text(lv_obj_t* obj, const unsigned short status) { #define SENDING_KEEP_SHOW_TIME_S 3 + gSendingStatus = FILE_SENDING_GUI_END; switch (status) { case FILE_SENDING_GUI_START_SENDING: @@ -1693,6 +1740,7 @@ static void sf_show_send_text(lv_obj_t* obj, const unsigned short status) lv_obj_set_hidden(label_sim_scr_uiflowphoto, false); lv_label_set_text(label_sim_scr_uiflowphoto, "Sending ... "); SendMsgShow = SENDING_KEEP_SHOW; + gSendingStatus = FILE_SENDING_GUI_START_SENDING; break; } case FILE_SENDING_GUI_STOP_SENDING: @@ -1853,7 +1901,7 @@ static void UIFlowPhoto_Key(lv_obj_t* obj, uint32_t key) printf("\r\n[%s] line:%d %d running\n", __FUNCTION__, __LINE__,key); break; } - if (0 > appSvrResponseSocketGet() && SF_BLE_CON != sf_get_ble_status()) + // if (0 > appSvrResponseSocketGet() && SF_BLE_CON != sf_get_ble_status()) { // UIFlowPhoto_OnExeZoomOutStart(obj); UIFlowPhoto_OnExeOpenPlayScreen(obj); @@ -2015,7 +2063,8 @@ void UIFlowPhotoEventCallback(lv_obj_t* obj, lv_event_t event) case LV_EVENT_KEY: { - if (PHOTO_ST_CAPTURE == gPhotoData.State) + if (PHOTO_ST_CAPTURE == gPhotoData.State || FILE_SENDING_GUI_START_SENDING == gSendingStatus || + PHONE_SHOT_START == sf_get_phone_shot_status()) { printf("PHOTO_ST_CAPTURE not handl key event.\n"); break; @@ -2028,7 +2077,8 @@ void UIFlowPhotoEventCallback(lv_obj_t* obj, lv_event_t event) } case LV_USER_EVENT_KEY_RELEASE: { - if (PHOTO_ST_CAPTURE == gPhotoData.State) + if (PHOTO_ST_CAPTURE == gPhotoData.State || FILE_SENDING_GUI_START_SENDING == gSendingStatus || + PHONE_SHOT_START == sf_get_phone_shot_status()) { printf("PHOTO_ST_CAPTURE not handl key event.\n"); break; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoFuncs.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoFuncs.c index d3516fb75..a66781439 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoFuncs.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoFuncs.c @@ -127,22 +127,22 @@ BOOL FlowPhoto_IsStorageErr(void) #if (FS_FUNC == ENABLE) if (UIStorageCheck(STORAGE_CHECK_ERROR, NULL) == TRUE) { // Ux_OpenWindow(&UIFlowWndWrnMsgCtrl, 2, FLOWWRNMSG_ISSUE_MEM_ERR, FLOWWRNMSG_TIMER_KEEP); - UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRING_NO_SD, 1000 * 2); /* keep msgbox */ + // UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRING_NO_SD, 1000 * 2); /* keep msgbox */ return TRUE; } if (UIStorageCheck(STORAGE_CHECK_FULL, &(g_uiFreePicNum)) == TRUE) { if (System_GetState(SYS_STATE_CARD) == CARD_REMOVED) { //Ux_OpenWindow(&UIFlowWndWrnMsgCtrl, 2, UIFlowWndWrnMsg_StatusTXT_Msg_STRID_PLEASE_INSERT_SD, FLOWWRNMSG_TIMER_2SEC); - UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRID_PLEASE_INSERT_SD, 2000); + // UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRID_PLEASE_INSERT_SD, 2000); } else { //Ux_OpenWindow(&UIFlowWndWrnMsgCtrl, 2, UIFlowWndWrnMsg_StatusTXT_Msg_STRID_CARD_FULL, FLOWWRNMSG_TIMER_2SEC); - UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRID_CARD_FULL, 2000); + // UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRID_CARD_FULL, 2000); } return TRUE; } if (UIStorageCheck(STORAGE_CHECK_LOCKED, NULL) == TRUE) { //Ux_OpenWindow(&UIFlowWndWrnMsgCtrl, 2, UIFlowWndWrnMsg_StatusTXT_Msg_STRID_CARD_LOCKED, FLOWWRNMSG_TIMER_2SEC); - UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRID_CARD_LOCKED, 2000); + // UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRID_CARD_LOCKED, 2000); return TRUE; } #endif diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c index cd0eec929..c9dc59fba 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c @@ -124,8 +124,11 @@ static void UIFlowPlay_IconImageSize(BOOL bShow) lv_obj_set_hidden(container_play_scr_uiflowplay, false); lv_plugin_img_set_src(image_play_scr_uiflowplay, LV_PLUGIN_IMG_ID_SF_STOP); PB_GetParam(PBPRMID_INFO_VDO, (UINT32 *)&MovieInfo); - lv_slider_set_range(slider_1_scr_uiflowplay, 0, MovieInfo.uiToltalSecs); - lv_slider_set_value(slider_1_scr_uiflowplay, 0, LV_ANIM_OFF); + if (0 < MovieInfo.uiToltalSecs) + { + lv_slider_set_range(slider_1_scr_uiflowplay, 0, MovieInfo.uiToltalSecs); + lv_slider_set_value(slider_1_scr_uiflowplay, 0, LV_ANIM_OFF); + } switch (MovieInfo.uiVidWidth) { case 3840: if (MovieInfo.uiVidRate == 50) { diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.h b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.h index 177d8aef6..bbad5e1d6 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.h +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.h @@ -2052,6 +2052,8 @@ typedef enum { SF_SEND_TIMELY = 0, SF_SEND_TIMELY1, SF_SEND_TIMELY2, + SF_SEND_TIMELY3, + SF_SEND_TIMELY4, SF_SEND_TIMELY_MAX, } SF_SEND_TYPE_e; diff --git a/code/application/source/sf_app/code/include/sf_commu_mcu_reg.h b/code/application/source/sf_app/code/include/sf_commu_mcu_reg.h index c8d9c3260..168b4f990 100755 --- a/code/application/source/sf_app/code/include/sf_commu_mcu_reg.h +++ b/code/application/source/sf_app/code/include/sf_commu_mcu_reg.h @@ -357,6 +357,11 @@ void sf_set_module_sleep_flag(UINT8 flag); UINT8 sf_get_module_sleep_flag(void); int sf_app_while_flag(void); void sf_set_sim_insert(INT32 sim); + #define GPS_SEARCHING_START 0 + #define GPS_SEARCHING_STOP 1 + #define GPS_SEARCHING_SUCCESSFUL 2 + #define GPS_SEARCHING_FAILED 3 +void sf_set_gps_status(const short status); void sf_set_usb_init(int flag); UINT32 sf_get_sim_insert(void); int sf_get_signal_ready(void); diff --git a/code/application/source/sf_app/code/include/sf_param_enum.h b/code/application/source/sf_app/code/include/sf_param_enum.h index b7e85f84e..0e39a30f5 100755 --- a/code/application/source/sf_app/code/include/sf_param_enum.h +++ b/code/application/source/sf_app/code/include/sf_param_enum.h @@ -486,6 +486,7 @@ typedef enum sf_PARA_MESSAGE_TYPE_E SF_PARA_CMD_SIMISINSERT = 0x1F06, SF_PARA_CMD_ISESIM = 0x1F07, SF_PARA_CMD_USB_INIT = 0x1F08, + SF_PARA_CMD_GPS_STATUS = 0X1F09, }SF_PARA_MESSAGE_TYPE_E; typedef enum sf_WIFI_MESSAGE_TYPE_E diff --git a/code/application/source/sf_app/code/include/sf_wifi_svr.h b/code/application/source/sf_app/code/include/sf_wifi_svr.h index 80db93a3f..4816a66cb 100755 --- a/code/application/source/sf_app/code/include/sf_wifi_svr.h +++ b/code/application/source/sf_app/code/include/sf_wifi_svr.h @@ -917,7 +917,11 @@ typedef enum thumbSize{ THUMB_1280x960, THUMB_1920x1440, }thumbSize_t; - +typedef enum phoneShot{ + PHONE_SHOT_START, + PHONE_SHOT_STOP, + PHONE_SHOT_END, +}PHONE_SHOT_E; /* UINT8 forbuild[32]; @@ -948,4 +952,6 @@ void sf_apinfo_thread_init(void); void sf_wifi_set_cam_mode(void); void appSvrResponseSocketSet(SINT32 socket); SINT32 appSvrResponseSocketGet(void); +void sf_set_phone_shot_status(const PHONE_SHOT_E status); +const PHONE_SHOT_E sf_get_phone_shot_status(void); #endif /*__SF_WIFI_SERVER__*/ diff --git a/code/application/source/sf_app/code/source/4gMng/sf_eg91_sim.c b/code/application/source/sf_app/code/source/4gMng/sf_eg91_sim.c index 98242d149..ca796cc95 100755 --- a/code/application/source/sf_app/code/source/4gMng/sf_eg91_sim.c +++ b/code/application/source/sf_app/code/source/4gMng/sf_eg91_sim.c @@ -2394,7 +2394,7 @@ SINT32 sf_module_complete_init(void) UINT8 strSave[21] = { 0 }; UINT8 strNow[21] = { 0 }; UINT8 strtmp[12][70] = { { 0 } }; - SF_TTY_DATA_TYPE_S ttyData = { .waitMs = 1000, .len = 3, .lenMax = (GPRS_INFO_LINE_MAX-1), .cmp = "OK", .cmperr = "ERROR", .data = gsmPara}; + SF_TTY_DATA_TYPE_S ttyData = { .waitMs = 1000, .len = 255/*Must wait for OK or error.*/, .lenMax = (GPRS_INFO_LINE_MAX-1), .cmp = "OK", .cmperr = "ERROR", .data = gsmPara}; char *pTemp = NULL; char *delim = NULL; @@ -2419,8 +2419,6 @@ SINT32 sf_module_complete_init(void) ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); callTime = 0; - ttyData.cmp = "OK"; - ttyData.len = 255;//Must wait for OK or error. sf_sleep_ms(50); } else if(strstr((const char *)gsmPara, "CME ERROR: SIM not inserted")) @@ -2439,8 +2437,6 @@ SINT32 sf_module_complete_init(void) ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); //printf("ttyRet:%d\n", ttyRet); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); - ttyData.cmp = "OK"; - ttyData.len = 255;//Must wait for OK or error. } break; @@ -2485,8 +2481,6 @@ SINT32 sf_module_complete_init(void) ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); callTime = 0; - ttyData.cmp = "Revision"; - ttyData.len = 255;//Must wait for OK or error. } else { @@ -2506,8 +2500,6 @@ SINT32 sf_module_complete_init(void) strcpy(gsmPara, "AT+GSN\r"); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); - ttyData.cmp = "OK"; - ttyData.len = 255;//Must wait for OK or error. sf_sleep_ms(50); } if(callTime > 10) @@ -2552,8 +2544,6 @@ SINT32 sf_module_complete_init(void) ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); callTime = 0; - ttyData.cmp = "OK"; - ttyData.len = 255;//Must wait for OK or error. } else { @@ -2601,8 +2591,6 @@ SINT32 sf_module_complete_init(void) } ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); - ttyData.cmp = "OK"; - ttyData.len = 255;//Must wait for OK or error. } else { @@ -2616,6 +2604,9 @@ SINT32 sf_module_complete_init(void) SLOGE(logStr); goto SF_MODULE_END; } + strcpy((char *)gsmPara, "AT+QGMR\r"); + ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); + SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); } break; @@ -2626,7 +2617,6 @@ SINT32 sf_module_complete_init(void) strcpy((char *)gsmPara, "AT+QSIMSTAT?\r"); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); - ttyData.len = 255;//Must wait for OK or error. } else { @@ -2639,6 +2629,9 @@ SINT32 sf_module_complete_init(void) SLOGE(logStr); goto SF_MODULE_END; } + strcpy((char *)gsmPara, "AT+QSIMDET=0,1\r"); + ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); + SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); } break; case QUECTEL_NETREG_QSIMSTAT: @@ -2686,7 +2679,6 @@ SINT32 sf_module_complete_init(void) ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); callTime = 0; - ttyData.len = 255;//Must wait for OK or error. } else if((strstr((const char *)gsmPara, "+QSIMSTAT: 0,2"))) { @@ -2739,7 +2731,29 @@ SINT32 sf_module_complete_init(void) ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); callTime = 0; - ttyData.len = strlen(gsmPara) + 2; + } + else + { + callTime++; + if(callTime > 10) + { + ret = SF_SIM_ERROR_AT_TIMEOUT; + SLOGE(gsmPara); + sprintf((char *)logStr, "Error Code:0x%08X\n", ret); + SLOGE(logStr); + goto SF_MODULE_END; + } + + if(puiPara->QLogSwitch) + { + sprintf((char *)gsmPara, "at+qcfg=\"dbgctl\",0\r"); + } + else + { + sprintf((char *)gsmPara, "at+qcfg=\"dbgctl\",1\r"); + } + ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); + SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); } break; @@ -2751,9 +2765,22 @@ SINT32 sf_module_complete_init(void) strcpy((char *)gsmPara, "AT+QURCCFG=\"urcport\",\"usbat\"\r"); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); - ttyData.len = strlen(gsmPara) + 2; } - + else + { + callTime++; + if(callTime > 10) + { + ret = SF_SIM_ERROR_AT_TIMEOUT; + SLOGE(gsmPara); + sprintf((char *)logStr, "Error Code:0x%08X\n", ret); + SLOGE(logStr); + goto SF_MODULE_END; + } + strcpy((char *)gsmPara, "AT+QCFG=\"ntp\",3,5\r"); + ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); + SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); + } break; case QUECTEL_NETREG_QURCCFG: @@ -2764,9 +2791,23 @@ SINT32 sf_module_complete_init(void) strcpy((char *)gsmPara, "AT+QCFG=\"risignaltype\",\"physical\"\r"); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); - ttyData.len = strlen(gsmPara) + 2; + callTime = 0; + } + else + { + callTime++; + if(callTime > 10) + { + ret = SF_SIM_ERROR_AT_TIMEOUT; + SLOGE(gsmPara); + sprintf((char *)logStr, "Error Code:0x%08X\n", ret); + SLOGE(logStr); + goto SF_MODULE_END; + } + strcpy((char *)gsmPara, "AT+QURCCFG=\"urcport\",\"usbat\"\r"); + ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); + SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); } - break; case QUECTEL_NETREG_QCFG_RISIGNALTYPE: @@ -2777,9 +2818,23 @@ SINT32 sf_module_complete_init(void) strcpy((char *)gsmPara, "AT+QCFG=\"urc/ri/other\",\"off\"\r"); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); - ttyData.len = strlen(gsmPara) + 2; + callTime = 0; + } + else + { + callTime++; + if(callTime > 10) + { + ret = SF_SIM_ERROR_AT_TIMEOUT; + SLOGE(gsmPara); + sprintf((char *)logStr, "Error Code:0x%08X\n", ret); + SLOGE(logStr); + goto SF_MODULE_END; + } + strcpy((char *)gsmPara, "AT+QCFG=\"risignaltype\",\"physical\"\r"); + ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); + SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); } - break; /*case QUECTEL_NETREG_USBNET_CHECK: @@ -2892,25 +2947,27 @@ SINT32 sf_module_complete_init(void) case QUECTEL_NETREG_CPIN: - if(SF_STRNCMP(puiPara->ModuleVer, GPRS_MODULE_TYPE_EG915Q, 6) == 0){ - if(strstr((const char *)gsmPara, "ERROR") || strstr((const char *)gsmPara, "OK")) - { - eNetRegLocation = QUECTEL_NETREG_READY; - strcpy((char *)gsmPara, "AT+CPIN?\r"); - ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); - SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); - ttyData.len = strlen(gsmPara) + 2; - } + if(strstr((const char *)gsmPara, "ERROR") || strstr((const char *)gsmPara, "OK")) + { + eNetRegLocation = QUECTEL_NETREG_READY; + strcpy((char *)gsmPara, "AT+CPIN?\r"); + ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); + SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); } - else{ - if(strstr((const char *)gsmPara, "ERROR") || strstr((const char *)gsmPara, "OK")) + else + { + callTime++; + if(callTime > 10) { - eNetRegLocation = QUECTEL_NETREG_READY; - strcpy((char *)gsmPara, "AT+CPIN?\r"); - ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); - SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); - ttyData.len = strlen(gsmPara) + 2; + ret = SF_SIM_ERROR_AT_TIMEOUT; + SLOGE(gsmPara); + sprintf((char *)logStr, "Error Code:0x%08X\n", ret); + SLOGE(logStr); + goto SF_MODULE_END; } + strcpy((char *)gsmPara, "AT+QCFG=\"urc/ri/other\",\"off\"\r"); + ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); + SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); } break; @@ -2926,8 +2983,6 @@ SINT32 sf_module_complete_init(void) strcpy((char *)gsmPara, "AT+QCCID\r"); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); - ttyData.cmp = "+QCCID:"; - ttyData.len = MODULE_ICCID_LEN; } else { @@ -3063,7 +3118,6 @@ SINT32 sf_module_complete_init(void) ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); callTime = 0; - ttyData.len = strlen(gsmPara) + 2; } break; @@ -3079,8 +3133,6 @@ SINT32 sf_module_complete_init(void) ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); callTime = 0; - ttyData.cmp = "+QCCID:"; - ttyData.len = MODULE_ICCID_LEN; } else { @@ -4018,9 +4070,10 @@ SINT32 sf_auto_net_reg(void) UINT8 cqSignal = 0; char *pTemp = NULL; char *delim = NULL; + UINT32 StrNumber = 0; UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); - SF_TTY_DATA_TYPE_S ttyData = { .waitMs = 500, .len = 3, .lenMax = (GPRS_INFO_LINE_MAX-1), .cmp = "OK", .cmperr = "ERROR", .data = gsmPara}; + SF_TTY_DATA_TYPE_S ttyData = { .waitMs = 500, .len = 255, .lenMax = (GPRS_INFO_LINE_MAX-1), .cmp = "OK", .cmperr = "ERROR", .data = gsmPara}; SF_LOG(" s\n"); @@ -4041,7 +4094,6 @@ SINT32 sf_auto_net_reg(void) ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); eNetRegLocation = QUECTEL_NETREG_QSIMSTAT; - ttyData.len = 255;//Must wait for OK or error. } else if(strstr((const char *)gsmPara, "ERROR")) { @@ -4056,7 +4108,6 @@ SINT32 sf_auto_net_reg(void) strcpy((char *)gsmPara, "ATE1\r"); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); - ttyData.len = 255;//Must wait for OK or error. } break; @@ -4079,10 +4130,6 @@ SINT32 sf_auto_net_reg(void) SF_LOG("AT+QSIMSTAT? Timeout"); goto SF_MODULE_END; } - - //strcpy((char *)gsmPara, "AT+QSIMSTAT?\r"); - //ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); - //SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); break; } else if(strstr((const char *)gsmPara, "+QSIMSTAT: 0,1")) @@ -4095,18 +4142,19 @@ SINT32 sf_auto_net_reg(void) } else { - eNetRegLocation = QUECTEL_NETREG_QLWCFG_URC; - if(strstr(puiPara->ModuleVer, GPRS_MODULE_TYPE_EG915Q)){ - strcpy((char *)gsmPara, "AT+QLWCFG=\"auto_reg\",0\r"); - } - else{ - strcpy((char *)gsmPara, "AT+QLWCFG=\"startup\",0\r"); - } + eNetRegLocation = QUECTEL_NETREG_CIMI_1; + strcpy((char *)gsmPara, "AT+CIMI\r"); + // eNetRegLocation = QUECTEL_NETREG_QLWCFG_URC; + // if(strstr(puiPara->ModuleVer, GPRS_MODULE_TYPE_EG915Q)){ + // strcpy((char *)gsmPara, "AT+QLWCFG=\"auto_reg\",0\r"); + // } + // else{ + // strcpy((char *)gsmPara, "AT+QLWCFG=\"startup\",0\r"); + // } } sf_set_sim_insert(1); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); - ttyData.len = strlen(gsmPara) + 2; } else if((strstr((const char *)gsmPara, "+QSIMSTAT: 0,2"))) { @@ -4150,47 +4198,259 @@ SINT32 sf_auto_net_reg(void) break; - case QUECTEL_NETREG_QLWCFG_URC: + case QUECTEL_NETREG_CIMI_1: - if(strstr((const char *)gsmPara, "OK")) - { - eNetRegLocation = QUECTEL_NETREG_QLWCFG_STARTUP; - strcpy((char *)gsmPara, "AT+QCFG=\"tcp/windowsize\",1,100\r"); - ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); - SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); - //DelayTime = 50; - ttyData.len = strlen(gsmPara) + 2; - } + if(strstr((const char *)gsmPara, "OK")) + { - break; + delim = " \r\n"; - case QUECTEL_NETREG_QLWCFG_STARTUP: + if(strstr((const char *)gsmPara, "AT+CIMI")) + { + pTemp = strtok((char *)strstr((const char *)gsmPara, "AT+CIMI"), delim); + StrNumber = 1; + } + else + { + pTemp = strtok((char *)gsmPara, delim); + StrNumber = 0; + } - if(strstr((const char *)gsmPara, "OK")) - { - eNetRegLocation = QUECTEL_NETREG_CGDCONT; - //DelayTime = 200; + mm = 0; + memset(strtmp, '\0', sizeof(strtmp)); + while((pTemp != NULL) && (mm < 12)) + { + strcpy((char *)strtmp[mm], (const char *)pTemp); + printf("---pTemp[%d]:%s\n", mm, pTemp); + mm++; + pTemp = strtok((char *)0, delim); + } - if(strstr((const char *)puiPara->Sim4gApn, APN_4G_VERIZON)) - { - eNetRegLocation = QUECTEL_NETREG_CGREG; - strcpy((char *)gsmPara, "AT+CGREG?\r"); - sf_time(&cTime); - } - else if(strstr((const char *)puiPara->Sim4gApn, APN_4G_ATT)) - { - sprintf((char *)gsmPara, "AT+CGDCONT=1,\"IPV4V6\",\"%s\"\r", puiPara->Sim4gApn); - } - else - { - sprintf((char *)gsmPara, "%s", "AT+CGDCONT=1,\"IPV4V6\",\"\"\r"); - } + if(((strtmp[StrNumber][0] - '0') >= 0) && ((strtmp[StrNumber][0] - '0') <= 9) && ((strtmp[StrNumber][5] - '0') >= 0) && ((strtmp[StrNumber][5] - '0') <= 9)) + { + memset(puiPara->OperatorCode, '\0', sizeof(puiPara->OperatorCode)); + strncpy((char *)puiPara->OperatorCode, (const char *)strtmp[StrNumber], 5); + strncpy((char *)SimImei, (const char *)strtmp[1], 5); + SF_DEBUG("OperatorCode=%s", puiPara->OperatorCode); - ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); - SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); - ttyData.cmp = "OK"; - ttyData.len = strlen(gsmPara) + 2; - } + if(puiPara->SimAutoSwitch == 0) + { + if(sf_auto_operation_adjust() == FAIL) + { + SLOGE(gsmPara); + sprintf((char *)logStr, "Auto Operation Fail,MCCMNC:%s\n", puiPara->OperatorCode); + SLOGE(logStr); + + ret = SF_SIM_ERROR_APN; + sprintf((char *)logStr, "Error Code:0x%08X\n", ret); + SLOGE(logStr); + + //sf_guide_operator_match_status_set(); + goto SF_MODULE_END; + } + else + { + sprintf((char *)logStr, "Auto Operation Success,MCCMNC:%s\n", puiPara->OperatorCode); + SLOGI(logStr); + } + + SF_DEBUG("Sim4gApn=%s", puiPara->Sim4gApn); + } + else + { + SF_LOG("operation info manual set,default success.\n"); + } + SF_LOG("puiPara->ModuleVer:%s\n",puiPara->ModuleVer); + if((strstr((const char *)puiPara->Sim4gApn, APN_4G_VERIZON)) \ + && (((SF_STRNCMP(puiPara->ModuleVer, GPRS_MODULE_TYPE_EG91_NAXD, 6) == 0))|| ((SF_STRNCMP(puiPara->ModuleVer, GPRS_MODULE_TYPE_EG95_NAXD, 6) == 0)))) + { + eNetRegLocation = QUECTEL_NETREG_QNVFW; + sprintf((char *)gsmPara, "%s", "at+qnvfr=\"/nv/item_files/modem/uim/gstk/feature_bmsk\"\r"); + } + else + { + if(strstr((const char *)puiPara->Sim4gApn, APN_4G_ATT)) + { + eNetRegLocation = QUECTEL_NETREG_CGDCONT; + sprintf((char *)gsmPara, "AT+CGDCONT=1,\"IPV4V6\",\"%s\"\r", puiPara->Sim4gApn); + } + else if(strstr((const char *)puiPara->Sim4gApn, APN_4G_VERIZON)) + { + eNetRegLocation = QUECTEL_SEARCH_IPV4V6; + sprintf((char *)gsmPara, "%s", "AT+QICSGP=1\r"); + } + else + { + eNetRegLocation = QUECTEL_NETREG_CGDCONT; + sprintf((char *)gsmPara, "%s", "AT+CGDCONT=1,\"IPV4V6\",\"\"\r"); + } + + + } + ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); + SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); + } + else + { + ret = SF_SIM_ERROR_APN; + SLOGE(gsmPara); + sprintf((char *)logStr, "Error Code:0x%08X\n", ret); + SLOGE(logStr); + goto SF_MODULE_END; + } + } + else + { + callTime++; + + if(callTime > 10) + { + ret = SF_SIM_ERROR_APN; + SLOGE(gsmPara); + sprintf((char *)logStr, "Error Code:0x%08X\n", ret); + SLOGE(logStr); + goto SF_MODULE_END; + } + + strcpy((char *)gsmPara, "AT+CIMI\r"); + ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); + SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); + } + + break; + + case QUECTEL_NETREG_QNVFW: + + if(strstr((const char *)gsmPara, "+QNVFR:")) + { + if(strstr((const char *)gsmPara, "+QNVFR: 11000000")) + { + eNetRegLocation = QUECTEL_SEARCH_QICSGP1; + sprintf((char *)gsmPara, "%s", "at+qnvfw=\"/nv/item_files/modem/uim/gstk/feature_bmsk\",01000000\r"); + } + else + { + eNetRegLocation = QUECTEL_SEARCH_IPV4V6; + sprintf((char *)gsmPara, "%s", "AT+QICSGP=1\r"); + } + + ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); + SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); + } + else + { + //eNetRegLocation = QUECTEL_NETREG_MODULE_RESTART; + eNetRegLocation = QUECTEL_SEARCH_IPV4V6; + sprintf((char *)gsmPara, "%s", "AT+QICSGP=1\r"); + ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); + SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); + } + + break; + + case QUECTEL_SEARCH_QICSGP1: + + if(strstr((const char *)gsmPara, "OK")) + { + eNetRegLocation = QUECTEL_SEARCH_IPV4V6; + sprintf((char *)gsmPara, "%s", "AT+QICSGP=1\r"); + ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); + SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); + } + break; + + case QUECTEL_SEARCH_IPV4V6: + + if(strstr((const char *)gsmPara, "OK")) + { + if((strstr((const char *)gsmPara, "\"ims\"") == NULL) && (strstr((const char *)puiPara->Sim4gApn, APN_4G_VERIZON))) + { + + eNetRegLocation = QUECTEL_NETREG_QPRTPARA; + if(((SF_STRNCMP(puiPara->ModuleVer, GPRS_MODULE_TYPE_EG91_NAXD, 6) == 0))|| ((SF_STRNCMP(puiPara->ModuleVer, GPRS_MODULE_TYPE_EG95_NAXD, 6) == 0))) + { + sprintf((char *)gsmPara, "AT+QPRTPARA=3\r"); + } + else + { + sprintf((char *)gsmPara, "%s", "AT+CGDCONT=1,\"IPV4V6\",\"\"\r"); + eNetRegLocation = QUECTEL_NETREG_CGDCONT; + } + } + else + { + eNetRegLocation = QUECTEL_NETREG_CGDCONT; + + if(strstr((const char *)puiPara->Sim4gApn, APN_4G_VERIZON)) + { + sprintf((char *)gsmPara, "AT+CGREG?\r"); + eNetRegLocation = QUECTEL_NETREG_CGREG; + sf_time(&cTime); + } + else if(strstr((const char *)puiPara->Sim4gApn, APN_4G_ATT)) + { + sprintf((char *)gsmPara, "AT+CGDCONT=1,\"IPV4V6\",\"%s\"\r", puiPara->Sim4gApn); + } + else + { + sprintf((char *)gsmPara, "%s", "AT+CGDCONT=1,\"IPV4V6\",\"\"\r"); + } + } + + ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); + SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); + } + + break; + + case QUECTEL_NETREG_QPRTPARA: + + if(strstr((const char *)gsmPara, "OK") != NULL) + { + if(sf_ttyusb_restart() == SUCCESS) + { + callTime = 0; + time = 0; + eNetRegLocation = QUECTEL_NETREG_MODULE_RESTART; + } + else + { + ret = SF_SIM_ERROR_REG_NET; + printf("[%s:%d] tty usb restart err.\n", __FUNCTION__, __LINE__); + SLOGE(gsmPara); + sprintf((char *)logStr, "tty usb restart err,Error Code:0x%08X\n", ret); + SLOGE(logStr); + goto SF_MODULE_END; + } + } + + break; + + case QUECTEL_NETREG_MODULE_RESTART: + ret = sf_module_complete_init(); + + if(ret == SF_SUCCESS) + { + eNetRegLocation = QUECTEL_NETREG_FRIST; + //sprintf((char *)gsmPara, "AT+CGREG?\r"); + //eNetRegLocation = QUECTEL_NETREG_CGREG; + } + else + { + goto SF_MODULE_END; + } + + break; + + // case QUECTEL_NETREG_QLWCFG_URC: + + // if(strstr((const char *)gsmPara, "OK")) + // { + // eNetRegLocation = QUECTEL_NETREG_QLWCFG_STARTUP; + // strcpy((char *)gsmPara, "AT+QCFG=\"tcp/windowsize\",1,100\r"); + // ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); + // SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); + // } break; @@ -4203,9 +4463,6 @@ SINT32 sf_auto_net_reg(void) strcpy((char *)gsmPara, "AT+CGREG?\r"); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); - - ttyData.cmp = "OK"; - ttyData.len = strlen(gsmPara) + 2; } break; @@ -4258,8 +4515,6 @@ SINT32 sf_auto_net_reg(void) sprintf((char *)gsmPara, "AT+CIMI\r"); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); - ttyData.cmp = "OK"; - ttyData.len = strlen(gsmPara) + 2; } } else @@ -4324,8 +4579,6 @@ SINT32 sf_auto_net_reg(void) SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); AddCimiTimes++; time = 0; - ttyData.cmp = "OK"; - ttyData.len = strlen(gsmPara) + 2; //sf_set_netsearch_step(GPRS_SEARCH_STEP_RETRYING); //sp5kHostMsgSend(APP_UI_MSG_TRANSFER_REFLUSH, 0, 0, 0); } @@ -4395,8 +4648,6 @@ SINT32 sf_auto_net_reg(void) SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); callTime = 0; } - ttyData.cmp = "OK"; - ttyData.len = strlen(gsmPara) + 2; } else { @@ -5178,6 +5429,7 @@ UINT32 sf_sim_qsclk(UINT8 mode) //mode = 2, gprsmode = 1 SF_SIM_E eSmsLocation = SMS_SIM_INIT_DTRUP; int ttyRet = 0; UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); + SF_TTY_DATA_TYPE_S ttyData = { .waitMs = 1000, .len = 3, .lenMax = (GPRS_INFO_LINE_MAX-1), .cmp = "OK", .cmperr = "ERROR", .data = gsmPara}; printf("[%s:%d] s\n", __FUNCTION__, __LINE__); @@ -5190,25 +5442,9 @@ UINT32 sf_sim_qsclk(UINT8 mode) //mode = 2, gprsmode = 1 return ret; } }*/ - + sf_gsm_para_buff_clear(); while(sf_app_while_flag()) { - time++; - - if(time >= 100) - { - ret = SF_SIM_ERROR_AT_TIMEOUT; - sprintf((char *)logStr, "ReadMsg Wait Init Timeout.\n[ERROR]eSmsLocation=%d", eSmsLocation); - SLOGE(logStr); - time = 0; - return ret; - } - - sf_gsm_para_buff_clear(); - - sf_hal_ttyusb2_read(gsmPara, 200); - printf("---time:%d---eSmsLocation:%d---\ngsmPara:%s\n", time, eSmsLocation, gsmPara); - switch(eSmsLocation) { case SMS_SIM_INIT_DTRUP: @@ -5220,10 +5456,10 @@ UINT32 sf_sim_qsclk(UINT8 mode) //mode = 2, gprsmode = 1 SF_CHECK_RETURN(ttyRet, SF_SIM_ERROR_AT_TIMEOUT); eSmsLocation = SMS_SIM_INIT_EXIT; } - else if(strstr((const char *)gsmPara, "ERROR")) - { - goto SF_RETURN; - } + // else if(strstr((const char *)gsmPara, "ERROR")) + // { + // goto SF_RETURN; + // } else { strcpy((char *)gsmPara, "AT\r"); //sleep @@ -5244,6 +5480,12 @@ UINT32 sf_sim_qsclk(UINT8 mode) //mode = 2, gprsmode = 1 { goto SF_RETURN; } + else if(strstr((const char *)gsmPara, "ERROR")) + { + strcpy((char *)gsmPara, "AT+QSCLK=1\r"); //sleep + ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); + SF_CHECK_RETURN(ttyRet, SF_SIM_ERROR_AT_TIMEOUT); + } else { calltime++; @@ -5262,6 +5504,23 @@ UINT32 sf_sim_qsclk(UINT8 mode) //mode = 2, gprsmode = 1 default: break; } + sf_gsm_para_buff_clear(); + sf_hal_ttyusb2_read_buf(&ttyData); + printf("-----eSmsLocation:%d-----time:%d-----\n", eSmsLocation, time); + if(gsmPara[0] != '\0') + { + printf("[%s:%d]gsmPara===>%s<================end\n", __FUNCTION__, __LINE__, gsmPara); + } + + time++; + if(time >= 100) + { + ret = SF_SIM_ERROR_AT_TIMEOUT; + sprintf((char *)logStr, "ReadMsg Wait Init Timeout.\n[ERROR]eSmsLocation=%d", eSmsLocation); + SLOGE(logStr); + time = 0; + goto SF_RETURN; + } } SF_RETURN: diff --git a/code/application/source/sf_app/code/source/4gMng/sf_sms.c b/code/application/source/sf_app/code/source/4gMng/sf_sms.c index b918f74e4..489632da4 100755 --- a/code/application/source/sf_app/code/source/4gMng/sf_sms.c +++ b/code/application/source/sf_app/code/source/4gMng/sf_sms.c @@ -591,10 +591,10 @@ UINT8 sf_message_data_processing(UINT8 strValue[30][32], UINT16 mm, UINT8 *sms_s } //ftp forbidden set i++; - /* + if(SF_STRNCMP(strValue[i], "ON", 2)== 0) { - pPara_sms_saved->FtpSwitch = 0; + pPara_sms_saved->FtpSwitch = 2; } else if(SF_STRNCMP(strValue[i], "OFF", 3)== 0) { @@ -605,7 +605,7 @@ UINT8 sf_message_data_processing(UINT8 strValue[30][32], UINT16 mm, UINT8 *sms_s printf("Error Format line:%d i=%d\n", __LINE__, i); Readmmsok = SMS_STATUS_FORMAT_ERR; } - */ + //sms ctrl i++; if(SF_STRLEN(strValue[i]) == 1) @@ -733,7 +733,7 @@ UINT8 sf_message_data_processing(UINT8 strValue[30][32], UINT16 mm, UINT8 *sms_s //Send Time 2 i++; - if(pPara_sms_saved->SendType != 2) + if(pPara_sms_saved->SendType < 2) { pPara_sms_saved->TimeSend2Switch = 0; pPara_sms_saved->TimeSend2.Hour = 0; @@ -759,7 +759,7 @@ UINT8 sf_message_data_processing(UINT8 strValue[30][32], UINT16 mm, UINT8 *sms_s #if 1 //Send Time 3 i++; - if(pPara_sms_saved->SendType != 3) + if(pPara_sms_saved->SendType < 3) { pPara_sms_saved->TimeSend3Switch = 0; pPara_sms_saved->TimeSend3.Hour = 0; @@ -785,7 +785,7 @@ UINT8 sf_message_data_processing(UINT8 strValue[30][32], UINT16 mm, UINT8 *sms_s //Send Time 4 i++; - if(pPara_sms_saved->SendType != 3) + if(pPara_sms_saved->SendType < 4) { pPara_sms_saved->TimeSend4Switch = 0; pPara_sms_saved->TimeSend4.Hour = 0; diff --git a/code/application/source/sf_app/code/source/app/sf_service.c b/code/application/source/sf_app/code/source/app/sf_service.c index 2aa9aeb10..08ca4989c 100755 --- a/code/application/source/sf_app/code/source/app/sf_service.c +++ b/code/application/source/sf_app/code/source/app/sf_service.c @@ -1266,6 +1266,9 @@ SINT32 sf_cardv_file_to_app_send_thread(void) { ThumbSend.IsRun = 0; sf_file_thumb_cfg_clear(); sf_share_mem_file_down(1, s32ret); + if (sf_poweron_type_get() != SF_MCU_STARTUP_ONKEY) { + sf_power_off(); + } return s32ret; } @@ -2162,6 +2165,7 @@ SINT32 open_gps(const SINT32 utc) { //UIMenuStoreInfo *pCustomerParam = sf_app_ui_para_get(); //SINT32 s32ret = 0; + sf_set_gps_status(GPS_SEARCHING_START); SF_PARA_TIME_S current_time = { 0, 0, 0, 0, 0, 0}; sf_get_ntp(utc, ¤t_time); #define NTP_TIME_LENGTH 32 @@ -2184,6 +2188,7 @@ int get_gps_location(void) GpsLocation location; memset(&location, 0, sizeof(GpsLocation)); location = gps_get_location(); + sf_set_gps_status(GPS_SEARCHING_STOP); if (strlen(location.latitude) > 0 && strlen(location.longitude) > 0) { LogInfo("Get gps location!\n"); @@ -2193,8 +2198,10 @@ int get_gps_location(void) strcpy(pCustomerParam->Latitude, location.latitude); LogInfo("location.Longitude = %s\n", pCustomerParam->Longitude); LogInfo("location.Latitude = %s\n", pCustomerParam->Latitude); + // sf_set_gps_status(GPS_SEARCHING_SUCCESSFUL); return GPS_GET_SUCCEED; } + // sf_set_gps_status(GPS_SEARCHING_FAILED); return GPS_GET_FAILED; } void keep_get_gps_location(const SF_GPS_PARAM param) diff --git a/code/application/source/sf_app/code/source/battery/sf_battery.c b/code/application/source/sf_app/code/source/battery/sf_battery.c index a005fe516..35cc1b7b7 100755 --- a/code/application/source/sf_app/code/source/battery/sf_battery.c +++ b/code/application/source/sf_app/code/source/battery/sf_battery.c @@ -212,7 +212,7 @@ UINT32 sf_adc_value_get(UINT32 mux, UINT32 *pval) { static UINT8 getAdcFlg = 0; //static UINT8 outputflag = 1; - UINT32 adc_device_delay_time_ms = 100; + UINT32 adc_device_delay_time_ms = 20; *pval = 0; if(getAdcFlg) @@ -349,7 +349,7 @@ UINT32 sf_battery_adc_value_get_once(void) UINT32 liPolymerVoltageVal = 0; UINT32 batVoltageVal = 0; static UINT8 getBatAdcFlg = 0; - UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); + // UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); if(getBatAdcFlg) return SUCCESS; @@ -361,8 +361,8 @@ UINT32 sf_battery_adc_value_get_once(void) { dcVoltageVal = sf_battery_voltage_convert(24, 100, batAdc); //dcVoltageVal += 2; - if(puiPara->BatteryLogSwitch) - printf("DC ADC Value:%d After Convert:%d(%d.%dV)\n",batAdc,dcVoltageVal,dcVoltageVal/10,dcVoltageVal%10); + // if(puiPara->BatteryLogSwitch) + // printf("DC ADC Value:%d After Convert:%d(%d.%dV)\n",batAdc,dcVoltageVal,dcVoltageVal/10,dcVoltageVal%10); } @@ -370,8 +370,8 @@ UINT32 sf_battery_adc_value_get_once(void) { liPolymerVoltageVal = sf_battery_voltage_convert(24, 100, batAdc); //liPolymerVoltageVal += 2; - if(puiPara->BatteryLogSwitch) - printf("Li ADC Value:%d After Convert:%d(%d.%dV)\n",batAdc,liPolymerVoltageVal,liPolymerVoltageVal/10,liPolymerVoltageVal%10); + // if(puiPara->BatteryLogSwitch) + // printf("Li ADC Value:%d After Convert:%d(%d.%dV)\n",batAdc,liPolymerVoltageVal,liPolymerVoltageVal/10,liPolymerVoltageVal%10); } @@ -379,15 +379,15 @@ UINT32 sf_battery_adc_value_get_once(void) { batVoltageVal = sf_aa_battery_voltage_convert(24, 100, batAdc); //batVoltageVal += 2; - if(puiPara->BatteryLogSwitch) - printf("Bat ADC Value:%d After Convert:%d(%d.%dV)\n",batAdc,batVoltageVal,batVoltageVal/10,batVoltageVal%10); + // if(puiPara->BatteryLogSwitch) + // printf("Bat ADC Value:%d After Convert:%d(%d.%dV)\n",batAdc,batVoltageVal,batVoltageVal/10,batVoltageVal%10); } if(sf_adc_value_get(SF_ADC_TEMP, &batAdc) == SUCCESS) { _TemperAdc = batAdc; - if(puiPara->BatteryLogSwitch) - printf("_TemperAdc:%d \n",batAdc); + // if(puiPara->BatteryLogSwitch) + // printf("_TemperAdc:%d \n",batAdc); } _DcVoltageVal = dcVoltageVal; @@ -768,45 +768,61 @@ SINT32 sf_battery_adc_value_get(void) UINT32 dcTemp = 0; UINT32 batTemp = 0; - UINT32 dcValueList = { 0 }; - UINT32 batValueList = { 0 }; + UINT32 LibatTemp = 0; + UINT8 LibatCnt = 0; + UINT8 batCnt = 0; + UINT32 temperValue = 0; //SINT32 ret = FAIL; //uiPara_t * puiPara = appUiParaGet(); - for(readBatCnt = 0; readBatCnt < 10;) //get average value of 10 times. + for(readBatCnt = 0; readBatCnt < 5;) //get average value of 10 times. { if(sf_battery_adc_value_get_once() == SUCCESS) { - dcValueList = _DcVoltageVal; - + dcTemp += _DcVoltageVal; + temperValue += _TemperAdc; if(_LiPolymerVoltageVal) { - batValueList = _LiPolymerVoltageVal; + LibatTemp += _LiPolymerVoltageVal; + LibatCnt++; } else { - batValueList = _BatVoltageVal; + batTemp += _BatVoltageVal; + batCnt++; } - dcTemp += dcValueList; - batTemp += batValueList; - readBatCnt++; - sf_sleep_ms(100); - if(readBatCnt >= SF_READ_BAT_MAX) + //sf_sleep_ms(10); + if(readBatCnt >= 5) { - _DcVoltageVal = dcTemp / SF_READ_BAT_MAX; + _DcVoltageVal = dcTemp / 5; + _TemperAdc = temperValue/ 5; + + if(LibatCnt) + _LiPolymerVoltageVal = LibatTemp / LibatCnt; + if(batCnt) + _BatVoltageVal = batTemp / batCnt; - if(_LiPolymerVoltageVal) - { - _LiPolymerVoltageVal = batTemp / SF_READ_BAT_MAX; + if((_DcVoltageVal > _LiPolymerVoltageVal) && (_DcVoltageVal >= _BatVoltageVal) && (_DcVoltageVal >= SF_DC_IN_VOLATAGE)) + { + IsPowerDcIn = 1; } - else if(_BatVoltageVal) + else { - _BatVoltageVal = batTemp / SF_READ_BAT_MAX; + IsPowerDcIn = 0; + } + + if ((_LiPolymerVoltageVal > _BatVoltageVal)) + { + _BatVoltageVal = 0; + } + else + { + _LiPolymerVoltageVal = 0; } } } @@ -842,7 +858,7 @@ void sf_battery_level_polling(void) { if(sf_battery_adc_value_get() == SUCCESS) { - //sf_sleep_ms(100); + sf_sleep_ms(100); dcTemp += _DcVoltageVal; temperValue += _TemperAdc; @@ -1097,7 +1113,7 @@ void sf_view_osd_battery_draw(UINT8 bShow) UINT8 sf_battery_value_get(UINT8 nightMode) { UINT8 value = 0; - UINT8 batteryVal = 0; + UINT32 batteryVal = 0; UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); if(IsPowerDcIn == 0) diff --git a/code/application/source/sf_app/code/source/fileMng/sf_file.c b/code/application/source/sf_app/code/source/fileMng/sf_file.c index f5d47b4fa..7492e3f82 100755 --- a/code/application/source/sf_app/code/source/fileMng/sf_file.c +++ b/code/application/source/sf_app/code/source/fileMng/sf_file.c @@ -1198,7 +1198,7 @@ UINT32 sf_create_dailyreport_file(void) sprintf(str, "OFF#"); SF_STRCAT(cfgTmp, (const char *)str); - if(pPara->FtpSwitch) + if(1 != pPara->FtpSwitch) sprintf(str, "ON#"); else sprintf(str, "OFF#"); diff --git a/code/application/source/sf_app/code/source/qrcodeMng/sf_bmp.c b/code/application/source/sf_app/code/source/qrcodeMng/sf_bmp.c index 580d6e26c..59866a066 100644 --- a/code/application/source/sf_app/code/source/qrcodeMng/sf_bmp.c +++ b/code/application/source/sf_app/code/source/qrcodeMng/sf_bmp.c @@ -155,18 +155,30 @@ void vd_g_SaveBitmap(const ST_BITMAP * st_ap_bitmap, const char * sz_ap_path) do { if(st_ap_bitmap == NULL) + { + printf("st_ap_bitmap failed.\n"); break; + } if((st_ap_bitmap->u2_bitcount != 16) && (st_ap_bitmap->u2_bitcount != 24) && (st_ap_bitmap->u2_bitcount != 32)) + { + printf("st_ap_bitmap failed 2.\n"); break; + } if(sz_ap_path == NULL) + { + printf("sz_ap_path failed.\n"); break; + } file_bitmap = fopen(sz_ap_path, "wb"); if(file_bitmap == NULL) + { + printf("fopen failed.\n"); break; - + } + printf("sz_ap_path = %s\n", sz_ap_path); // set bitmap head info vd_SerializeLittleEndianU4(&u1_tp_bitmap_header[2], sizeof(u1_tp_bitmap_header) + st_ap_bitmap->u4_image_size); vd_SerializeLittleEndianU4(&u1_tp_bitmap_header[10], sizeof(u1_tp_bitmap_header)); @@ -188,7 +200,7 @@ void vd_g_SaveBitmap(const ST_BITMAP * st_ap_bitmap, const char * sz_ap_path) } while(0); - + system("sync"); if(file_bitmap) fclose(file_bitmap); } diff --git a/code/application/source/sf_app/code/source/qrcodeMng/sf_qrcode.c b/code/application/source/sf_app/code/source/qrcodeMng/sf_qrcode.c index 8f5b35ef1..730577f80 100644 --- a/code/application/source/sf_app/code/source/qrcodeMng/sf_qrcode.c +++ b/code/application/source/sf_app/code/source/qrcodeMng/sf_qrcode.c @@ -110,7 +110,7 @@ SINT16 sf_qrcode_create(SF_CHAR *pIMEI,SF_CHAR *pSimID ,SF_CHAR* pVersion) UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); sprintf(qrsrc_Str, "{\"imei\":\"%s\",\"verizonICCID\":\"%s\",\"attICCID\":\"%s\",\"isEsim\":%s}", - puiPara->ModuleImei, puiPara->SimIccidV, puiPara->SimIccidA, sf_is_esim_card() ? "true" : "false"); + puiPara->ModuleImei, puiPara->SimIccidV, puiPara->SimIccidA, sf_is_esim_card() == 1 ? "true" : "false"); MLOGI("qrStr = %s\n",qrsrc_Str); sf_qrcode_encode(qrsrc_Str, strlen(qrsrc_Str), "/mnt/sd/QR.BMP"); MLOGI("QR.BMP have existed \n"); diff --git a/code/application/source/sf_app/code/source/sf_blue/src/sf_blue_app.c b/code/application/source/sf_app/code/source/sf_blue/src/sf_blue_app.c index 034d34888..4c8ddda3f 100644 --- a/code/application/source/sf_app/code/source/sf_blue/src/sf_blue_app.c +++ b/code/application/source/sf_app/code/source/sf_blue/src/sf_blue_app.c @@ -665,7 +665,7 @@ static signed int sf_blue_command_request_process(U8 *val, unsigned int nval, U8 BLU_SLOGI("[BLE_SET_CAMERA_SendType],sendType:%d\n",pMsgStruct->msgBuf.setSendType.sendType); if(puiPara->GprsMode == 0) { - puiPara->SendType = pMsgStruct->msgBuf.setSendType.sendType % 4; + puiPara->SendType = pMsgStruct->msgBuf.setSendType.sendType; puiPara->TimeSend1.Hour = pMsgStruct->msgBuf.setSendType.sendFirstTimeH % 24; puiPara->TimeSend1.Min = pMsgStruct->msgBuf.setSendType.sendFirstTimeM % 60; puiPara->TimeSend2.Hour = pMsgStruct->msgBuf.setSendType.sendSecondTimeH % 24; diff --git a/code/application/source/sf_app/code/source/systemMng/sf_commu_mcu_reg.c b/code/application/source/sf_app/code/source/systemMng/sf_commu_mcu_reg.c index 72d48d6d5..c35a971dc 100755 --- a/code/application/source/sf_app/code/source/systemMng/sf_commu_mcu_reg.c +++ b/code/application/source/sf_app/code/source/systemMng/sf_commu_mcu_reg.c @@ -262,8 +262,8 @@ unsigned char sf_mcu_wdg_set(unsigned char value) { unsigned char i = 0; unsigned char regsize =0; - unsigned char mcuReg[2] = {0}; - unsigned char mcuPara[2] = {0}; + unsigned char mcuReg[3] = {0}; + unsigned char mcuPara[3] = {0}; UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); if(puiPara->DebugMode) @@ -1241,6 +1241,14 @@ void sf_set_sim_insert(INT32 sim) simCardInsert = sim; } +void sf_set_gps_status(const short status) +{ + SF_MESSAGE_BUF_S stMessageBuf = {0}; + stMessageBuf.arg2 = status; + stMessageBuf.arg1 = SF_PARA_CMD_GPS_STATUS; + stMessageBuf.cmdId = CMD_PARA; + sf_com_message_send_to_cardv(&stMessageBuf); +} void sf_set_usb_init(int flag) { SF_MESSAGE_BUF_S stMessageBuf = {0}; diff --git a/code/application/source/sf_app/code/source/wifi/sf_wifi_svr.c b/code/application/source/sf_app/code/source/wifi/sf_wifi_svr.c index 2842d4836..b0f1e1125 100755 --- a/code/application/source/sf_app/code/source/wifi/sf_wifi_svr.c +++ b/code/application/source/sf_app/code/source/wifi/sf_wifi_svr.c @@ -141,6 +141,8 @@ INT32 DigitalZoom = 0; sysMsg_t sendMsg; static SF_WIFI_STATUS_E WifiStatus = SF_WIFI_BUTT; +static PHONE_SHOT_E gPhoneShot = PHONE_SHOT_END; + /************************************************************************** * E X T E R N A L R E F E R E N C E S * **************************************************************************/ @@ -1597,7 +1599,7 @@ SINT32 sf_svr_packet_proc(SINT32 fd, UINT8 *pAppData, UINT16 dataLen) MLOGI("[WIFI_SET_CAMERA_SendType],sendType:%d\n",pMsgStruct->msgBuf.setSendType.sendType); if(puiPara->GprsMode == 0) { - puiPara->SendType = pMsgStruct->msgBuf.setSendType.sendType % 4; + puiPara->SendType = pMsgStruct->msgBuf.setSendType.sendType; puiPara->TimeSend1.Hour = pMsgStruct->msgBuf.setSendType.sendFirstTimeH % 24; puiPara->TimeSend1.Min = pMsgStruct->msgBuf.setSendType.sendFirstTimeM % 60; puiPara->TimeSend2.Hour = pMsgStruct->msgBuf.setSendType.sendSecondTimeH % 24; @@ -2001,7 +2003,8 @@ SINT32 sf_svr_packet_proc(SINT32 fd, UINT8 *pAppData, UINT16 dataLen) { //Ux_PostEvent(NVTEVT_KEY_SHUTTER2, 1, NVTEVT_KEY_PRESS); //Ux_PostEvent(NVTEVT_KEY_SHUTTER2, 1, NVTEVT_KEY_RELEASE); - + + sf_set_phone_shot_status(PHONE_SHOT_START); FlowPhoto_DoCapture(); respFlag = 1; ret = 0; @@ -2218,6 +2221,15 @@ SINT32 appSvrResponseSocketGet(void) //printf("appSvrResponseSocketSet socket=%d\n", socket); return gSendSocket; } +void sf_set_phone_shot_status(const PHONE_SHOT_E status) +{ + printf("sf_set_phone_shot_status = %d\n", status); + gPhoneShot = status; +} +const PHONE_SHOT_E sf_get_phone_shot_status(void) +{ + return gPhoneShot; +} UINT8 sf_wifi_server_stop_shoot_respond(UINT8 errCode) { diff --git a/code/lib/source/sifar/code/include/sf_common.h b/code/lib/source/sifar/code/include/sf_common.h index 45d43c7bb..4e52744da 100755 --- a/code/lib/source/sifar/code/include/sf_common.h +++ b/code/lib/source/sifar/code/include/sf_common.h @@ -23,6 +23,16 @@ typedef enum sfBLE_STATUS_E SF_BLE_BUTT, } SF_BLE_STATUS_E; +typedef enum sfGPS_STATUS_E +{ + SF_GPS_SEARCHING_UNKNOW = -1, + SF_GPS_SEARCHING_START, + SF_GPS_SEARCHING_STOP, + SF_GPS_SEARCHING_SUCCESSFUL, + SF_GPS_SEARCHING_FAILED, + SF_GPS_SEARCHING_END, +} SF_GPS_STATUS_E; + typedef enum{ FILE_SENDING_GUI_START_SENDING = 0, FILE_SENDING_GUI_STOP_SENDING, @@ -114,6 +124,8 @@ BOOL sf_is_movie_preview(void); BOOL sf_is_cap_preview(void); BOOL sf_is_preview(void); short sf_cardv_get_cq_signal(void); +void sf_cardv_set_gps_status(const SF_GPS_STATUS_E status); +const SF_GPS_STATUS_E sf_cardv_get_gps_status(void); void sf_cardv_4G_status_set(UINT8 status); UINT8 sf_cardv_4G_status_get(void); void sf_cardv_set_sim_insert(INT8 sim); diff --git a/code/lib/source/sifar/code/source/common/sf_common.c b/code/lib/source/sifar/code/source/common/sf_common.c index e6fa1517e..2466f2e3c 100755 --- a/code/lib/source/sifar/code/source/common/sf_common.c +++ b/code/lib/source/sifar/code/source/common/sf_common.c @@ -99,6 +99,7 @@ static SINT32 WifiSocket = 0; static UINT8 UiparaFlag = 0; static SF_BLE_STATUS_E BleStatus = SF_BLE_OK; static UINT8 McuUpdateFlag = 0; +static SF_GPS_STATUS_E gGpsSearching = SF_GPS_SEARCHING_UNKNOW; static SF_THREAD_S UpgradeTskParam = { @@ -312,7 +313,7 @@ void sf_mode_detect(void) //countDownOffFlg = 0; } - if(puiPara->AutoOffSwitch == 0 || SF_BLE_CON == sf_get_ble_status() || (0x04 == NetWorkFlag/*SF_4G_SENDING*/) || + if(puiPara->AutoOffSwitch == 0 || SF_BLE_CON == sf_get_ble_status() || SF_WIFI_CON == sf_get_wifi_status() || (0x04 == NetWorkFlag/*SF_4G_SENDING*/) || (0x05 == NetWorkFlag/*SF_4G_SEARCHING*/) || (sf_get_fw_update()) || (sf_get_module_update()) || (sf_get_mcu_update_flag()) || ( System_GetState(SYS_STATE_CURRMODE) == PRIMARY_MODE_PLAYBACK)/*|| (appActiveStateGet() == APP_STATE_CUSTOMER_TRANSFER)*/) { @@ -1526,6 +1527,15 @@ short sf_cardv_get_cq_signal(void) { return cq_Signal; } +void sf_cardv_set_gps_status(const SF_GPS_STATUS_E status) +{ + printf("sf_cardv_set_gps_status = %d\n", status); + gGpsSearching = status; +} +const SF_GPS_STATUS_E sf_cardv_get_gps_status(void) +{ + return gGpsSearching; +} /************************************************* Function: sf_cardv_adc_value_get @@ -1765,6 +1775,9 @@ static SINT32 sf_cardv_proccess_cmd_para_update(SF_MESSAGE_BUF_S *pMessageBuf) break; case SF_PARA_CMD_USB_INIT: sf_cardv_set_usb_init(pMessageBuf->arg2); + break; + case SF_PARA_CMD_GPS_STATUS: + sf_cardv_set_gps_status(pMessageBuf->arg2); break; default: break; @@ -2084,7 +2097,7 @@ void sf_ui_sending_show(unsigned short status) BOOL sf_get_send_statu(void) { - printf("[%s]:%d IsSend:%d\n", __FUNCTION__, __LINE__,IsSend); + // printf("[%s]:%d IsSend:%d\n", __FUNCTION__, __LINE__,IsSend); return IsSend; } @@ -2967,7 +2980,7 @@ BOOL sf_cmd_para_printf(unsigned char argc, char **argv) UIMenuStoreInfo *puiPara = sf_ui_para_get(); MLOGD(" s\n"); - printf("OtaFlag:%s\n", puiPara->OtaFlag); + printf("OtaFlag:%d\n", puiPara->OtaFlag); printf("strMakerString:%s\n", puiPara->strMakerString); printf("strModelString:%s\n", puiPara->strModelString); printf("strSoftwareVer:%s\n", puiPara->strSoftwareVer); diff --git a/no_open_source.sh b/no_open_source.sh new file mode 100644 index 000000000..8b2e153d0 --- /dev/null +++ b/no_open_source.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# +rm -rf code/application/sifarsdk/333DE +rm -rf code/application/sifarsdk/application +rm -rf code/application/sifarsdk/.git +rm -rf code/application/sifarsdk/novatek +rm -rf code/application/sifarsdk/cmake-shell-linux +rm -rf code/application/sifarsdk/.gitignore +rm -rf code/application/sifarsdk/at-command +rm -rf code/application/sifarsdk/customization +rm -rf code/application/sifarsdk/hal +rm -rf code/application/sifarsdk/README.md +rm -rf code/application/sifarsdk/build +rm -rf code/application/sifarsdk/doc +rm -rf code/application/sifarsdk/lib +rm -rf code/application/sifarsdk/test +rm -rf code/application/sifarsdk/Makefile +rm -rf code/application/sifarsdk/external +rm -rf code/application/sifarsdk/CMakeLists.txt +rm -rf code/application/sifarsdk/component +rm -rf code/application/source/sf_app/code/source diff --git a/rtos/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h b/rtos/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h index 9ab54628e..91cca7f5e 100755 --- a/rtos/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h +++ b/rtos/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h @@ -945,7 +945,7 @@ #define HUNTING_MCU_UART ENABLE #define HUNTING_IR_LED_940 ENABLE #define SF_EXIF_MN_BUF_SIZE 256 -#define SF_BASE_VERSION "7MR5RCwDC01" +#define SF_BASE_VERSION "7MR5RCwDC03" #define DCF_DIR_NAME "MEDIA" /* 100MEDIA */ #define DCF_FILE_NAME "SYGW" /* SYFW0001.JPG */ #define PHOTO_THUMB_PATH "A:\\THUMB\\" diff --git a/rtos/code/application/source/cardv/SrcCode/UIApp/MovieFast/MovieFast.c b/rtos/code/application/source/cardv/SrcCode/UIApp/MovieFast/MovieFast.c index 7e2be1faa..3ec4a95c2 100644 --- a/rtos/code/application/source/cardv/SrcCode/UIApp/MovieFast/MovieFast.c +++ b/rtos/code/application/source/cardv/SrcCode/UIApp/MovieFast/MovieFast.c @@ -118,6 +118,7 @@ static VOS_TICK g_alg_end_time= 0; static VOS_TICK g_vprc_trigger_frm_time= 0; static UINT32 g_vprc_trigger_frm_count= 0; +UINT32 Movie2_nextFolderID = 0, Movie2_nextFileID = 0; //local function static void MovieFast_OnRecStart(void); static void MovieFast_OnRecStop(void); @@ -857,12 +858,48 @@ static void MovieFast_FileNamingCB(MOVIE_CFG_REC_ID id, char *pFileName) //2. When it can erntry this function, only the File ID (serial number) is accumulated. //3. If the working mode is normal and it is cyclic recording, please judge the DirID and FileID by yourself before enering next new file recording. UINT32 nextFolderID = 0, nextFileID = 0; - + UINT32 max_cnt = 0; if (DCF_GetDBInfo(DCF_INFO_IS_9999)) { DBG_ERR("Exceed max dcf file!\r\n"); pFileName[0] = '\0'; } else { DCF_GetNextID(&nextFolderID,&nextFileID); + if(DrvGPIO_GetPhotoMovieModeFromMonitor() == DX_HUNTING_MODE_MOVIE2) + { + Movie2_nextFolderID = nextFolderID; + Movie2_nextFileID = nextFileID; + switch (UI_GetData(FL_CONTINUE_SHOT))//puiPara->Multishot + { + case CONTINUE_SHOT_BURST_5: + max_cnt = 5; + break; + case CONTINUE_SHOT_BURST_4: + max_cnt = 4; + break; + case CONTINUE_SHOT_BURST_3: + max_cnt = 3; + break; + case CONTINUE_SHOT_BURST_2: + max_cnt = 2; + break; + case CONTINUE_SHOT_OFF: + default: + max_cnt = 1; + break; + } + for(UINT32 i = 0 ; i < max_cnt ; i++) + { + nextFileID++; + if (nextFileID > MAX_DCF_FILE_NUM) { + nextFileID = 1; + nextFolderID++; + if (nextFolderID > MAX_DCF_DIR_NUM) { + DBG_ERR("Exceed max dcf file!\r\n"); + pFileName[0] = '\0'; + } + } + } + } DCF_MakeObjPath(nextFolderID, nextFileID, DCF_FILE_TYPE_MP4, pFileName); DCF_AddDBfile(pFileName); DBG_DUMP("%s added to DCF\r\n", pFileName); diff --git a/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFast.c b/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFast.c index 0f2ff02ff..10f6b49c0 100644 --- a/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFast.c +++ b/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFast.c @@ -111,6 +111,8 @@ AET_STATUS_INFO ae_status = {0}; /* size of AET_STATUS_INFO is quite large, don' //extern extern const unsigned char gDemoKit_Font[]; extern const unsigned char gDemoKit_Image[]; +extern UINT32 Movie2_nextFolderID; +extern UINT32 Movie2_nextFileID; //function INT32 PhotoFast_FileNaming_MakePath(UINT32 filetype, CHAR *pPath, UINT32 uiPathId); @@ -871,6 +873,30 @@ INT32 PhotoFast_WriteFile(UINT32 Addr, UINT32 Size, UINT32 Fmt, UINT32 uiPathId, fileType = DCF_FILE_TYPE_JPG; } DCF_GetNextID(&nextFolderID,&nextFileID); + if(DrvGPIO_GetPhotoMovieModeFromMonitor() == DX_HUNTING_MODE_MOVIE2) + { + nextFolderID = Movie2_nextFolderID; + nextFileID = Movie2_nextFileID; + + if (nextFileID > MAX_DCF_FILE_NUM) { + nextFileID = 1; + nextFolderID++; + if (nextFolderID > MAX_DCF_DIR_NUM) { + DBG_ERR("Exceed max dcf file!\r\n"); + FilePath[0] = '\0'; + } + } + + Movie2_nextFileID++; + if (Movie2_nextFileID > MAX_DCF_FILE_NUM) { + Movie2_nextFileID = 1; + Movie2_nextFolderID++; + if (Movie2_nextFolderID > MAX_DCF_DIR_NUM) { + DBG_ERR("Exceed max dcf file!\r\n"); + FilePath[0] = '\0'; + } + } + } DCF_MakeObjPath(nextFolderID, nextFileID, fileType, FilePath); DCF_AddDBfile(FilePath); DBG_DUMP("%s added to DCF\r\n", FilePath); diff --git a/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.h b/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.h index a7e74cf95..38df49ae5 100755 --- a/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.h +++ b/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.h @@ -2053,6 +2053,8 @@ typedef enum { SF_SEND_TIMELY = 0, SF_SEND_TIMELY1, SF_SEND_TIMELY2, + SF_SEND_TIMELY3, + SF_SEND_TIMELY4, SF_SEND_TIMELY_MAX, } SF_SEND_TYPE_e;