Skip to content

Commit b7af3c3

Browse files
committed
CES: tune demo example
1 parent e1655db commit b7af3c3

File tree

1 file changed

+45
-37
lines changed

1 file changed

+45
-37
lines changed

examples/Demo_CES_mjpeg/Demo_CES_mjpeg.ino

Lines changed: 45 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,14 @@
77
#include "AVI_parser.h"
88
#include "image.h"
99

10-
QSPIFBlockDevice block_device(PD_11, PD_12, PF_7, PD_13,
11-
PF_10, PG_6, QSPIF_POLARITY_MODE_0, MBED_CONF_QSPIF_QSPI_FREQ);
12-
1310
struct edid recognized_edid;
1411

1512
mbed::DigitalOut video_on(PK_2);
1613
mbed::DigitalOut video_rst(PJ_3);
1714

1815
extern "C" uint32_t JPEG_Decode_DMA(JPEG_HandleTypeDef *hjpeg, uint32_t FrameSourceAddress , uint32_t FrameSize, uint32_t DestAddress);
1916

20-
static uint32_t AVI_FILE_ADDRESS = 0; //((uint32_t)(EnvieH7V1_0_4_avi)); //((uint32_t)(0x90000000)); // start of qspi flash, correct me later
17+
static uint32_t AVI_FILE_ADDRESS = ((uint32_t)(0x90000000)); // start of qspi flash, correct me later
2118

2219
/* Private macro -------------------------------------------------------------*/
2320
/* Private variables ---------------------------------------------------------*/
@@ -32,63 +29,74 @@ extern __IO uint32_t Jpeg_HWDecodingEnd;
3229

3330
AVI_CONTEXT AVI_Handel; /* AVI Parser Handle*/
3431

35-
int KMP(char *x, int m, char *y, int n, int start=0);
32+
int KMP(char *x, int m, char *y, int n, int start = 0);
3633

3734
void setup() {
3835
// put your setup code here, to run once:
39-
video_on = 1;
40-
delay(10);
41-
video_rst = 1;
42-
delay(10);
4336

44-
delay(1000);
37+
int ret = -1;
38+
while (ret < 0) {
4539

46-
int ret = anx7625_init(0);
40+
video_on = 0;
41+
delay(10);
42+
video_rst = 0;
43+
delay(100);
4744

48-
if (ret < 0) {
49-
printf("anx7625_init returned %d\n", ret);
50-
while (1) {}
51-
}
45+
video_on = 1;
46+
delay(100);
47+
video_rst = 1;
5248

49+
ret = anx7625_init(0);
50+
printf("after init\n");
51+
52+
if (ret < 0) {
53+
printf("anx7625_init returned %d\n", ret);
54+
55+
}
56+
}
5357
anx7625_dp_get_edid(0, &recognized_edid);
5458
//edid_set_framebuffer_bits_per_pixel(&recognized_edid, 16, 0);
5559
//set_display_mode(&recognized_edid, EDID_MODE_720x480_60Hz);
5660
//anx7625_dp_start(0, &recognized_edid, EDID_MODE_1280x720_60Hz);
5761
anx7625_dp_start(0, &recognized_edid);
5862

59-
block_device.init();
63+
delay(1000);
64+
65+
QSPIFBlockDevice* block_device = new QSPIFBlockDevice(PD_11, PD_12, PF_7, PD_13,
66+
PF_10, PG_6, QSPIF_POLARITY_MODE_0, MBED_CONF_QSPIF_QSPI_FREQ);
67+
block_device->init();
6068

61-
mbed::bd_size_t sector_size_at_address_0 = block_device.get_erase_size(0);
69+
mbed::bd_size_t sector_size_at_address_0 = block_device->get_erase_size(0);
6270

63-
printf("QSPIF BD size: %llu\n", block_device.size());
64-
printf("QSPIF BD read size: %llu\n", block_device.get_read_size());
65-
printf("QSPIF BD program size: %llu\n", block_device.get_program_size());
71+
printf("QSPIF BD size: %llu\n", block_device->size());
72+
printf("QSPIF BD read size: %llu\n", block_device->get_read_size());
73+
printf("QSPIF BD program size: %llu\n", block_device->get_program_size());
6674

6775
printf("QSPIF BD erase size (at address 0): %llu\n", sector_size_at_address_0);
6876

69-
/*
70-
char avi_header[] = {0x52, 0x49, 0x46, 0x46};
71-
char *buffer = (char *) malloc(sector_size_at_address_0);
72-
int i = 2048;
73-
int res = 0;
74-
while (sector_size_at_address_0 * i < block_device.size()) {
75-
block_device.read(buffer, sector_size_at_address_0 * i, sector_size_at_address_0);
76-
res = KMP(avi_header, 4, buffer, sector_size_at_address_0);
77-
if (res != -1) {
78-
break;
77+
/*
78+
char avi_header[] = {0x52, 0x49, 0x46, 0x46};
79+
char *buffer = (char *) malloc(sector_size_at_address_0);
80+
int i = 2048;
81+
int res = 0;
82+
while (sector_size_at_address_0 * i < block_device.size()) {
83+
block_device.read(buffer, sector_size_at_address_0 * i, sector_size_at_address_0);
84+
res = KMP(avi_header, 4, buffer, sector_size_at_address_0);
85+
if (res != -1) {
86+
break;
87+
}
88+
i++;
7989
}
80-
i++;
81-
}
82-
*/
90+
*/
8391
char *buffer = (char *) malloc(sector_size_at_address_0);
84-
block_device.read(buffer, 2048 * 4096, sector_size_at_address_0);
92+
block_device->read(buffer, 2048 * 4096, sector_size_at_address_0);
8593

86-
AVI_FILE_ADDRESS = (((uint32_t)(0x90000000 + (2048 * 4096))));
87-
DumpHex((void*)AVI_FILE_ADDRESS, 40);
94+
AVI_FILE_ADDRESS = (((uint32_t)(EnvieH7V1_0_4_avi))); // + (2048 * 4096))));
95+
//DumpHex((void*)AVI_FILE_ADDRESS, 40);
8896
printf("Address: %x\n", AVI_FILE_ADDRESS);
8997

9098
// Deinitialize the device
91-
//block_device.deinit();
99+
block_device->deinit();
92100

93101
LCD_X_Size = stm32_getXSize();
94102
LCD_Y_Size = stm32_getYSize();

0 commit comments

Comments
 (0)