mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-28 18:07:25 +08:00
Format Code Style Only
This commit is contained in:
@@ -68,104 +68,104 @@ struct video_config_t bottom_camera = {
|
||||
//I2C_BUF_LEN must be higher then size of these patch lines
|
||||
#define MT9V117_PATCH_LINE_NUM 13
|
||||
static uint8_t patch_line1[] = {
|
||||
0xf0, 0x00, 0x72, 0xcf, 0xff, 0x00, 0x3e, 0xd0, 0x92, 0x00,
|
||||
0x71, 0xcf, 0xff, 0xff, 0xf2, 0x18, 0xb1, 0x10, 0x92, 0x05,
|
||||
0xb1, 0x11, 0x92, 0x04, 0xb1, 0x12, 0x70, 0xcf, 0xff, 0x00,
|
||||
0x30, 0xc0, 0x90, 0x00, 0x7f, 0xe0, 0xb1, 0x13, 0x70, 0xcf,
|
||||
0xff, 0xff, 0xe7, 0x1c, 0x88, 0x36, 0x09, 0x0f, 0x00, 0xb3
|
||||
0xf0, 0x00, 0x72, 0xcf, 0xff, 0x00, 0x3e, 0xd0, 0x92, 0x00,
|
||||
0x71, 0xcf, 0xff, 0xff, 0xf2, 0x18, 0xb1, 0x10, 0x92, 0x05,
|
||||
0xb1, 0x11, 0x92, 0x04, 0xb1, 0x12, 0x70, 0xcf, 0xff, 0x00,
|
||||
0x30, 0xc0, 0x90, 0x00, 0x7f, 0xe0, 0xb1, 0x13, 0x70, 0xcf,
|
||||
0xff, 0xff, 0xe7, 0x1c, 0x88, 0x36, 0x09, 0x0f, 0x00, 0xb3
|
||||
};
|
||||
|
||||
static uint8_t patch_line2[] = {
|
||||
0xf0, 0x30, 0x69, 0x13, 0xe1, 0x80, 0xd8, 0x08, 0x20, 0xca,
|
||||
0x03, 0x22, 0x71, 0xcf, 0xff, 0xff, 0xe5, 0x68, 0x91, 0x35,
|
||||
0x22, 0x0a, 0x1f, 0x80, 0xff, 0xff, 0xf2, 0x18, 0x29, 0x05,
|
||||
0x00, 0x3e, 0x12, 0x22, 0x11, 0x01, 0x21, 0x04, 0x0f, 0x81,
|
||||
0x00, 0x00, 0xff, 0xf0, 0x21, 0x8c, 0xf0, 0x10, 0x1a, 0x22
|
||||
0xf0, 0x30, 0x69, 0x13, 0xe1, 0x80, 0xd8, 0x08, 0x20, 0xca,
|
||||
0x03, 0x22, 0x71, 0xcf, 0xff, 0xff, 0xe5, 0x68, 0x91, 0x35,
|
||||
0x22, 0x0a, 0x1f, 0x80, 0xff, 0xff, 0xf2, 0x18, 0x29, 0x05,
|
||||
0x00, 0x3e, 0x12, 0x22, 0x11, 0x01, 0x21, 0x04, 0x0f, 0x81,
|
||||
0x00, 0x00, 0xff, 0xf0, 0x21, 0x8c, 0xf0, 0x10, 0x1a, 0x22
|
||||
};
|
||||
|
||||
static uint8_t patch_line3[] = {
|
||||
0xf0, 0x60, 0x10, 0x44, 0x12, 0x20, 0x11, 0x02, 0xf7, 0x87,
|
||||
0x22, 0x4f, 0x03, 0x83, 0x1a, 0x20, 0x10, 0xc4, 0xf0, 0x09,
|
||||
0xba, 0xae, 0x7b, 0x50, 0x1a, 0x20, 0x10, 0x84, 0x21, 0x45,
|
||||
0x01, 0xc1, 0x1a, 0x22, 0x10, 0x44, 0x70, 0xcf, 0xff, 0x00,
|
||||
0x3e, 0xd0, 0xb0, 0x60, 0xb0, 0x25, 0x7e, 0xe0, 0x78, 0xe0
|
||||
0xf0, 0x60, 0x10, 0x44, 0x12, 0x20, 0x11, 0x02, 0xf7, 0x87,
|
||||
0x22, 0x4f, 0x03, 0x83, 0x1a, 0x20, 0x10, 0xc4, 0xf0, 0x09,
|
||||
0xba, 0xae, 0x7b, 0x50, 0x1a, 0x20, 0x10, 0x84, 0x21, 0x45,
|
||||
0x01, 0xc1, 0x1a, 0x22, 0x10, 0x44, 0x70, 0xcf, 0xff, 0x00,
|
||||
0x3e, 0xd0, 0xb0, 0x60, 0xb0, 0x25, 0x7e, 0xe0, 0x78, 0xe0
|
||||
};
|
||||
|
||||
static uint8_t patch_line4[] = {
|
||||
0xf0, 0x90, 0x71, 0xcf, 0xff, 0xff, 0xf2, 0x18, 0x91, 0x12,
|
||||
0x72, 0xcf, 0xff, 0xff, 0xe7, 0x1c, 0x8a, 0x57, 0x20, 0x04,
|
||||
0x0f, 0x80, 0x00, 0x00, 0xff, 0xf0, 0xe2, 0x80, 0x20, 0xc5,
|
||||
0x01, 0x61, 0x20, 0xc5, 0x03, 0x22, 0xb1, 0x12, 0x71, 0xcf,
|
||||
0xff, 0x00, 0x3e, 0xd0, 0xb1, 0x04, 0x7e, 0xe0, 0x78, 0xe0
|
||||
0xf0, 0x90, 0x71, 0xcf, 0xff, 0xff, 0xf2, 0x18, 0x91, 0x12,
|
||||
0x72, 0xcf, 0xff, 0xff, 0xe7, 0x1c, 0x8a, 0x57, 0x20, 0x04,
|
||||
0x0f, 0x80, 0x00, 0x00, 0xff, 0xf0, 0xe2, 0x80, 0x20, 0xc5,
|
||||
0x01, 0x61, 0x20, 0xc5, 0x03, 0x22, 0xb1, 0x12, 0x71, 0xcf,
|
||||
0xff, 0x00, 0x3e, 0xd0, 0xb1, 0x04, 0x7e, 0xe0, 0x78, 0xe0
|
||||
};
|
||||
|
||||
static uint8_t patch_line5[] = {
|
||||
0xf0, 0xc0, 0x70, 0xcf, 0xff, 0xff, 0xe7, 0x1c, 0x88, 0x57,
|
||||
0x71, 0xcf, 0xff, 0xff, 0xf2, 0x18, 0x91, 0x13, 0xea, 0x84,
|
||||
0xb8, 0xa9, 0x78, 0x10, 0xf0, 0x03, 0xb8, 0x89, 0xb8, 0x8c,
|
||||
0xb1, 0x13, 0x71, 0xcf, 0xff, 0x00, 0x30, 0xc0, 0xb1, 0x00,
|
||||
0x7e, 0xe0, 0xc0, 0xf1, 0x09, 0x1e, 0x03, 0xc0, 0xc1, 0xa1
|
||||
0xf0, 0xc0, 0x70, 0xcf, 0xff, 0xff, 0xe7, 0x1c, 0x88, 0x57,
|
||||
0x71, 0xcf, 0xff, 0xff, 0xf2, 0x18, 0x91, 0x13, 0xea, 0x84,
|
||||
0xb8, 0xa9, 0x78, 0x10, 0xf0, 0x03, 0xb8, 0x89, 0xb8, 0x8c,
|
||||
0xb1, 0x13, 0x71, 0xcf, 0xff, 0x00, 0x30, 0xc0, 0xb1, 0x00,
|
||||
0x7e, 0xe0, 0xc0, 0xf1, 0x09, 0x1e, 0x03, 0xc0, 0xc1, 0xa1
|
||||
};
|
||||
|
||||
static uint8_t patch_line6[] = {
|
||||
0xf0, 0xf0, 0x75, 0x08, 0x76, 0x28, 0x77, 0x48, 0xc2, 0x40,
|
||||
0xd8, 0x20, 0x71, 0xcf, 0x00, 0x03, 0x20, 0x67, 0xda, 0x02,
|
||||
0x08, 0xae, 0x03, 0xa0, 0x73, 0xc9, 0x0e, 0x25, 0x13, 0xc0,
|
||||
0x0b, 0x5e, 0x01, 0x60, 0xd8, 0x06, 0xff, 0xbc, 0x0c, 0xce,
|
||||
0x01, 0x00, 0xd8, 0x00, 0xb8, 0x9e, 0x0e, 0x5a, 0x03, 0x20
|
||||
0xf0, 0xf0, 0x75, 0x08, 0x76, 0x28, 0x77, 0x48, 0xc2, 0x40,
|
||||
0xd8, 0x20, 0x71, 0xcf, 0x00, 0x03, 0x20, 0x67, 0xda, 0x02,
|
||||
0x08, 0xae, 0x03, 0xa0, 0x73, 0xc9, 0x0e, 0x25, 0x13, 0xc0,
|
||||
0x0b, 0x5e, 0x01, 0x60, 0xd8, 0x06, 0xff, 0xbc, 0x0c, 0xce,
|
||||
0x01, 0x00, 0xd8, 0x00, 0xb8, 0x9e, 0x0e, 0x5a, 0x03, 0x20
|
||||
};
|
||||
|
||||
static uint8_t patch_line7[] = {
|
||||
0xf1, 0x20, 0xd9, 0x01, 0xd8, 0x00, 0xb8, 0x9e, 0x0e, 0xb6,
|
||||
0x03, 0x20, 0xd9, 0x01, 0x8d, 0x14, 0x08, 0x17, 0x01, 0x91,
|
||||
0x8d, 0x16, 0xe8, 0x07, 0x0b, 0x36, 0x01, 0x60, 0xd8, 0x07,
|
||||
0x0b, 0x52, 0x01, 0x60, 0xd8, 0x11, 0x8d, 0x14, 0xe0, 0x87,
|
||||
0xd8, 0x00, 0x20, 0xca, 0x02, 0x62, 0x00, 0xc9, 0x03, 0xe0
|
||||
0xf1, 0x20, 0xd9, 0x01, 0xd8, 0x00, 0xb8, 0x9e, 0x0e, 0xb6,
|
||||
0x03, 0x20, 0xd9, 0x01, 0x8d, 0x14, 0x08, 0x17, 0x01, 0x91,
|
||||
0x8d, 0x16, 0xe8, 0x07, 0x0b, 0x36, 0x01, 0x60, 0xd8, 0x07,
|
||||
0x0b, 0x52, 0x01, 0x60, 0xd8, 0x11, 0x8d, 0x14, 0xe0, 0x87,
|
||||
0xd8, 0x00, 0x20, 0xca, 0x02, 0x62, 0x00, 0xc9, 0x03, 0xe0
|
||||
};
|
||||
|
||||
static uint8_t patch_line8[] = {
|
||||
0xf1, 0x50, 0xc0, 0xa1, 0x78, 0xe0, 0xc0, 0xf1, 0x08, 0xb2,
|
||||
0x03, 0xc0, 0x76, 0xcf, 0xff, 0xff, 0xe5, 0x40, 0x75, 0xcf,
|
||||
0xff, 0xff, 0xe5, 0x68, 0x95, 0x17, 0x96, 0x40, 0x77, 0xcf,
|
||||
0xff, 0xff, 0xe5, 0x42, 0x95, 0x38, 0x0a, 0x0d, 0x00, 0x01,
|
||||
0x97, 0x40, 0x0a, 0x11, 0x00, 0x40, 0x0b, 0x0a, 0x01, 0x00
|
||||
0xf1, 0x50, 0xc0, 0xa1, 0x78, 0xe0, 0xc0, 0xf1, 0x08, 0xb2,
|
||||
0x03, 0xc0, 0x76, 0xcf, 0xff, 0xff, 0xe5, 0x40, 0x75, 0xcf,
|
||||
0xff, 0xff, 0xe5, 0x68, 0x95, 0x17, 0x96, 0x40, 0x77, 0xcf,
|
||||
0xff, 0xff, 0xe5, 0x42, 0x95, 0x38, 0x0a, 0x0d, 0x00, 0x01,
|
||||
0x97, 0x40, 0x0a, 0x11, 0x00, 0x40, 0x0b, 0x0a, 0x01, 0x00
|
||||
};
|
||||
|
||||
static uint8_t patch_line9[] = {
|
||||
0xf1, 0x80, 0x95, 0x17, 0xb6, 0x00, 0x95, 0x18, 0xb7, 0x00,
|
||||
0x76, 0xcf, 0xff, 0xff, 0xe5, 0x44, 0x96, 0x20, 0x95, 0x15,
|
||||
0x08, 0x13, 0x00, 0x40, 0x0e, 0x1e, 0x01, 0x20, 0xd9, 0x00,
|
||||
0x95, 0x15, 0xb6, 0x00, 0xff, 0xa1, 0x75, 0xcf, 0xff, 0xff,
|
||||
0xe7, 0x1c, 0x77, 0xcf, 0xff, 0xff, 0xe5, 0x46, 0x97, 0x40
|
||||
0xf1, 0x80, 0x95, 0x17, 0xb6, 0x00, 0x95, 0x18, 0xb7, 0x00,
|
||||
0x76, 0xcf, 0xff, 0xff, 0xe5, 0x44, 0x96, 0x20, 0x95, 0x15,
|
||||
0x08, 0x13, 0x00, 0x40, 0x0e, 0x1e, 0x01, 0x20, 0xd9, 0x00,
|
||||
0x95, 0x15, 0xb6, 0x00, 0xff, 0xa1, 0x75, 0xcf, 0xff, 0xff,
|
||||
0xe7, 0x1c, 0x77, 0xcf, 0xff, 0xff, 0xe5, 0x46, 0x97, 0x40
|
||||
};
|
||||
|
||||
static uint8_t patch_line10[] = {
|
||||
0xf1, 0xb0, 0x8d, 0x16, 0x76, 0xcf, 0xff, 0xff, 0xe5, 0x48,
|
||||
0x8d, 0x37, 0x08, 0x0d, 0x00, 0x81, 0x96, 0x40, 0x09, 0x15,
|
||||
0x00, 0x80, 0x0f, 0xd6, 0x01, 0x00, 0x8d, 0x16, 0xb7, 0x00,
|
||||
0x8d, 0x17, 0xb6, 0x00, 0xff, 0xb0, 0xff, 0xbc, 0x00, 0x41,
|
||||
0x03, 0xc0, 0xc0, 0xf1, 0x0d, 0x9e, 0x01, 0x00, 0xe8, 0x04
|
||||
0xf1, 0xb0, 0x8d, 0x16, 0x76, 0xcf, 0xff, 0xff, 0xe5, 0x48,
|
||||
0x8d, 0x37, 0x08, 0x0d, 0x00, 0x81, 0x96, 0x40, 0x09, 0x15,
|
||||
0x00, 0x80, 0x0f, 0xd6, 0x01, 0x00, 0x8d, 0x16, 0xb7, 0x00,
|
||||
0x8d, 0x17, 0xb6, 0x00, 0xff, 0xb0, 0xff, 0xbc, 0x00, 0x41,
|
||||
0x03, 0xc0, 0xc0, 0xf1, 0x0d, 0x9e, 0x01, 0x00, 0xe8, 0x04
|
||||
};
|
||||
|
||||
static uint8_t patch_line11[] = {
|
||||
0xf1, 0xe0, 0xff, 0x88, 0xf0, 0x0a, 0x0d, 0x6a, 0x01, 0x00,
|
||||
0x0d, 0x8e, 0x01, 0x00, 0xe8, 0x7e, 0xff, 0x85, 0x0d, 0x72,
|
||||
0x01, 0x00, 0xff, 0x8c, 0xff, 0xa7, 0xff, 0xb2, 0xd8, 0x00,
|
||||
0x73, 0xcf, 0xff, 0xff, 0xf2, 0x40, 0x23, 0x15, 0x00, 0x01,
|
||||
0x81, 0x41, 0xe0, 0x02, 0x81, 0x20, 0x08, 0xf7, 0x81, 0x34
|
||||
0xf1, 0xe0, 0xff, 0x88, 0xf0, 0x0a, 0x0d, 0x6a, 0x01, 0x00,
|
||||
0x0d, 0x8e, 0x01, 0x00, 0xe8, 0x7e, 0xff, 0x85, 0x0d, 0x72,
|
||||
0x01, 0x00, 0xff, 0x8c, 0xff, 0xa7, 0xff, 0xb2, 0xd8, 0x00,
|
||||
0x73, 0xcf, 0xff, 0xff, 0xf2, 0x40, 0x23, 0x15, 0x00, 0x01,
|
||||
0x81, 0x41, 0xe0, 0x02, 0x81, 0x20, 0x08, 0xf7, 0x81, 0x34
|
||||
};
|
||||
|
||||
static uint8_t patch_line12[] = {
|
||||
0xf2, 0x10, 0xa1, 0x40, 0xd8, 0x00, 0xc0, 0xd1, 0x7e, 0xe0,
|
||||
0x53, 0x51, 0x30, 0x34, 0x20, 0x6f, 0x6e, 0x5f, 0x73, 0x74,
|
||||
0x61, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d,
|
||||
0x69, 0x6e, 0x67, 0x20, 0x25, 0x64, 0x20, 0x25, 0x64, 0x0a,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
0xf2, 0x10, 0xa1, 0x40, 0xd8, 0x00, 0xc0, 0xd1, 0x7e, 0xe0,
|
||||
0x53, 0x51, 0x30, 0x34, 0x20, 0x6f, 0x6e, 0x5f, 0x73, 0x74,
|
||||
0x61, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d,
|
||||
0x69, 0x6e, 0x67, 0x20, 0x25, 0x64, 0x20, 0x25, 0x64, 0x0a,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
|
||||
static uint8_t patch_line13[] = {
|
||||
0xf2, 0x40, 0xff, 0xff, 0xe8, 0x28, 0xff, 0xff, 0xf0, 0xe8,
|
||||
0xff, 0xff, 0xe8, 0x08, 0xff, 0xff, 0xf1, 0x54
|
||||
0xf2, 0x40, 0xff, 0xff, 0xe8, 0x28, 0xff, 0xff, 0xf0, 0xe8,
|
||||
0xff, 0xff, 0xe8, 0x08, 0xff, 0xff, 0xf1, 0x54
|
||||
};
|
||||
|
||||
/* Patch lines structure */
|
||||
@@ -175,19 +175,19 @@ struct mt9v117_patch_t {
|
||||
};
|
||||
|
||||
static const struct mt9v117_patch_t mt9v117_patch_lines[MT9V117_PATCH_LINE_NUM] = {
|
||||
{patch_line1, sizeof(patch_line1)},
|
||||
{patch_line2, sizeof(patch_line2)},
|
||||
{patch_line3, sizeof(patch_line3)},
|
||||
{patch_line4, sizeof(patch_line4)},
|
||||
{patch_line5, sizeof(patch_line5)},
|
||||
{patch_line6, sizeof(patch_line6)},
|
||||
{patch_line7, sizeof(patch_line7)},
|
||||
{patch_line8, sizeof(patch_line8)},
|
||||
{patch_line9, sizeof(patch_line9)},
|
||||
{patch_line10, sizeof(patch_line10)},
|
||||
{patch_line11, sizeof(patch_line11)},
|
||||
{patch_line12, sizeof(patch_line12)},
|
||||
{patch_line13, sizeof(patch_line13)}
|
||||
{patch_line1, sizeof(patch_line1)},
|
||||
{patch_line2, sizeof(patch_line2)},
|
||||
{patch_line3, sizeof(patch_line3)},
|
||||
{patch_line4, sizeof(patch_line4)},
|
||||
{patch_line5, sizeof(patch_line5)},
|
||||
{patch_line6, sizeof(patch_line6)},
|
||||
{patch_line7, sizeof(patch_line7)},
|
||||
{patch_line8, sizeof(patch_line8)},
|
||||
{patch_line9, sizeof(patch_line9)},
|
||||
{patch_line10, sizeof(patch_line10)},
|
||||
{patch_line11, sizeof(patch_line11)},
|
||||
{patch_line12, sizeof(patch_line12)},
|
||||
{patch_line13, sizeof(patch_line13)}
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -199,20 +199,17 @@ static void write_reg(struct mt9v117_t *mt, uint16_t addr, uint32_t val, uint16_
|
||||
mt->i2c_trans.buf[1] = addr & 0xFF;
|
||||
|
||||
// Fix sigdness based on length
|
||||
if(len == 1) {
|
||||
if (len == 1) {
|
||||
mt->i2c_trans.buf[2] = val & 0xFF;
|
||||
}
|
||||
else if(len == 2) {
|
||||
} else if (len == 2) {
|
||||
mt->i2c_trans.buf[2] = (val >> 8) & 0xFF;
|
||||
mt->i2c_trans.buf[3] = val & 0xFF;
|
||||
}
|
||||
else if(len == 4) {
|
||||
} else if (len == 4) {
|
||||
mt->i2c_trans.buf[2] = (val >> 24) & 0xFF;
|
||||
mt->i2c_trans.buf[3] = (val >> 16) & 0xFF;
|
||||
mt->i2c_trans.buf[4] = (val >> 8) & 0xFF;
|
||||
mt->i2c_trans.buf[5] = val & 0xFF;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
printf("[MT9V117] write_reg with incorrect length %d\r\n", len);
|
||||
}
|
||||
|
||||
@@ -233,8 +230,8 @@ static uint32_t read_reg(struct mt9v117_t *mt, uint16_t addr, uint16_t len)
|
||||
i2c_transceive(mt->i2c_periph, &mt->i2c_trans, MT9V117_ADDRESS, 2, len);
|
||||
|
||||
/* Fix sigdness */
|
||||
for(uint8_t i =0; i < len; i++) {
|
||||
ret |= mt->i2c_trans.buf[len-i-1] << (8*i);
|
||||
for (uint8_t i = 0; i < len; i++) {
|
||||
ret |= mt->i2c_trans.buf[len - i - 1] << (8 * i);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
@@ -283,7 +280,7 @@ static inline void mt9v117_write_patch(struct mt9v117_t *mt)
|
||||
/* Write patch */
|
||||
for (uint8_t i = 0; i < MT9V117_PATCH_LINE_NUM; ++i) {
|
||||
// Copy buffer
|
||||
for(uint8_t j = 0; j < mt9v117_patch_lines[i].len; ++j) {
|
||||
for (uint8_t j = 0; j < mt9v117_patch_lines[i].len; ++j) {
|
||||
mt->i2c_trans.buf[j] = mt9v117_patch_lines[i].data[j];
|
||||
}
|
||||
|
||||
@@ -298,14 +295,14 @@ static inline void mt9v117_write_patch(struct mt9v117_t *mt)
|
||||
write_reg(mt, MT9V117_COMMAND, MT9V117_COMMAND_OK | MT9V117_COMMAND_APPLY_PATCH, 2);
|
||||
|
||||
/* Wait for command OK */
|
||||
for(uint8_t retries = 100; retries > 0; retries--) {
|
||||
for (uint8_t retries = 100; retries > 0; retries--) {
|
||||
/* Wait 10ms */
|
||||
usleep(10000);
|
||||
|
||||
/* Check the command */
|
||||
uint16_t cmd = read_reg(mt, MT9V117_COMMAND, 2);
|
||||
if((cmd & MT9V117_COMMAND_APPLY_PATCH) == 0) {
|
||||
if((cmd & MT9V117_COMMAND_OK) == 0) {
|
||||
if ((cmd & MT9V117_COMMAND_APPLY_PATCH) == 0) {
|
||||
if ((cmd & MT9V117_COMMAND_OK) == 0) {
|
||||
printf("[MT9V117] Applying patch failed (No OK)\r\n");
|
||||
}
|
||||
return;
|
||||
@@ -316,7 +313,8 @@ static inline void mt9v117_write_patch(struct mt9v117_t *mt)
|
||||
}
|
||||
|
||||
/* Configure the sensor */
|
||||
static inline void mt9v117_config(struct mt9v117_t *mt) {
|
||||
static inline void mt9v117_config(struct mt9v117_t *mt)
|
||||
{
|
||||
write_var(mt, MT9V117_CAM_CTRL_VAR, MT9V117_CAM_SENSOR_CFG_X_ADDR_START_OFFSET, 16, 2);
|
||||
write_var(mt, MT9V117_CAM_CTRL_VAR, MT9V117_CAM_SENSOR_CFG_X_ADDR_END_OFFSET, 663, 2);
|
||||
write_var(mt, MT9V117_CAM_CTRL_VAR, MT9V117_CAM_SENSOR_CFG_Y_ADDR_START_OFFSET, 8, 2);
|
||||
@@ -324,7 +322,7 @@ static inline void mt9v117_config(struct mt9v117_t *mt) {
|
||||
write_var(mt, MT9V117_CAM_CTRL_VAR, MT9V117_CAM_SENSOR_CFG_CPIPE_LAST_ROW_OFFSET, 243, 2);
|
||||
write_var(mt, MT9V117_CAM_CTRL_VAR, MT9V117_CAM_SENSOR_CFG_FRAME_LENGTH_LINES_OFFSET, 283, 2);
|
||||
write_var(mt, MT9V117_CAM_CTRL_VAR, MT9V117_CAM_SENSOR_CONTROL_READ_MODE_OFFSET,
|
||||
MT9V117_CAM_SENSOR_CONTROL_Y_SKIP_EN, 2);
|
||||
MT9V117_CAM_SENSOR_CONTROL_Y_SKIP_EN, 2);
|
||||
write_var(mt, MT9V117_CAM_CTRL_VAR, MT9V117_CAM_SENSOR_CFG_MAX_FDZONE_60_OFFSET, 1, 2);
|
||||
write_var(mt, MT9V117_CAM_CTRL_VAR, MT9V117_CAM_SENSOR_CFG_TARGET_FDZONE_60_OFFSET, 1, 2);
|
||||
|
||||
@@ -396,8 +394,9 @@ void mt9v117_init(struct mt9v117_t *mt)
|
||||
|
||||
/* See if the device is there and correct */
|
||||
uint16_t chip_id = read_reg(mt, MT9V117_CHIP_ID, 2);
|
||||
if(chip_id != MT9V117_CHIP_ID_RESP) {
|
||||
printf("[MT9V117] Didn't get correct response from CHIP_ID (expected: 0x%04X, got: 0x%04X)\r\n", MT9V117_CHIP_ID_RESP, chip_id);
|
||||
if (chip_id != MT9V117_CHIP_ID_RESP) {
|
||||
printf("[MT9V117] Didn't get correct response from CHIP_ID (expected: 0x%04X, got: 0x%04X)\r\n", MT9V117_CHIP_ID_RESP,
|
||||
chip_id);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -423,22 +422,22 @@ void mt9v117_init(struct mt9v117_t *mt)
|
||||
|
||||
/* Enable ITU656 */
|
||||
write_var(mt, MT9V117_CAM_CTRL_VAR, MT9V117_CAM_OUTPUT_FORMAT_OFFSET,
|
||||
read_var(mt, MT9V117_CAM_CTRL_VAR, MT9V117_CAM_OUTPUT_FORMAT_OFFSET, 2) |
|
||||
MT9V117_CAM_OUTPUT_FORMAT_BT656_ENABLE, 2);
|
||||
read_var(mt, MT9V117_CAM_CTRL_VAR, MT9V117_CAM_OUTPUT_FORMAT_OFFSET, 2) |
|
||||
MT9V117_CAM_OUTPUT_FORMAT_BT656_ENABLE, 2);
|
||||
|
||||
/* Apply the configuration */
|
||||
write_var(mt, MT9V117_SYSMGR_VAR, MT9V117_SYSMGR_NEXT_STATE_OFFSET, MT9V117_SYS_STATE_ENTER_CONFIG_CHANGE, 1);
|
||||
write_reg(mt, MT9V117_COMMAND, MT9V117_COMMAND_OK | MT9V117_COMMAND_SET_STATE, 2);
|
||||
|
||||
/* Wait for command OK */
|
||||
for(uint8_t retries = 100; retries > 0; retries--) {
|
||||
for (uint8_t retries = 100; retries > 0; retries--) {
|
||||
/* Wait 10ms */
|
||||
usleep(10000);
|
||||
|
||||
/* Check the command */
|
||||
uint16_t cmd = read_reg(mt, MT9V117_COMMAND, 2);
|
||||
if((cmd & MT9V117_COMMAND_SET_STATE) == 0) {
|
||||
if((cmd & MT9V117_COMMAND_OK) == 0) {
|
||||
if ((cmd & MT9V117_COMMAND_SET_STATE) == 0) {
|
||||
if ((cmd & MT9V117_COMMAND_OK) == 0) {
|
||||
printf("[MT9V117] Switching config failed (No OK)\r\n");
|
||||
}
|
||||
|
||||
|
||||
@@ -18,11 +18,11 @@
|
||||
* <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file boards/bebop/mt9v117.h
|
||||
*
|
||||
* Initialization and configuration of the MT9V117 CMOS Chip
|
||||
*/
|
||||
/**
|
||||
* @file boards/bebop/mt9v117.h
|
||||
*
|
||||
* Initialization and configuration of the MT9V117 CMOS Chip
|
||||
*/
|
||||
|
||||
#ifndef MT9V117_H
|
||||
#define MT9V117_H
|
||||
|
||||
@@ -607,7 +607,8 @@ void image_show_flow(struct image_t *img, struct flow_t *vectors, uint16_t point
|
||||
* @param[in] dx The gradient in x-direction
|
||||
* @param[in] dy The gradient in y-direction
|
||||
*/
|
||||
void image_gradient_pixel(struct image_t *img, struct point_t *loc, int method, int *dx, int* dy) {
|
||||
void image_gradient_pixel(struct image_t *img, struct point_t *loc, int method, int *dx, int *dy)
|
||||
{
|
||||
// create the simple and sobel filter only once:
|
||||
|
||||
int gradient_x, gradient_y, index;
|
||||
@@ -620,48 +621,47 @@ void image_gradient_pixel(struct image_t *img, struct point_t *loc, int method,
|
||||
uint8_t add_ind = pixel_width - 1;
|
||||
|
||||
// check if all pixels will fall in the image:
|
||||
if(loc->x >= 1 && (loc->x + 1) < img->w && loc->y >= 1 && (loc->y + 1) < img->h ) {
|
||||
if(method == 0) {
|
||||
if (loc->x >= 1 && (loc->x + 1) < img->w && loc->y >= 1 && (loc->y + 1) < img->h) {
|
||||
if (method == 0) {
|
||||
|
||||
// *************
|
||||
// Simple method
|
||||
// *************
|
||||
// *************
|
||||
// Simple method
|
||||
// *************
|
||||
|
||||
// dx:
|
||||
index = loc->y * img->w * pixel_width + (loc->x-1) * pixel_width;
|
||||
gradient_x -= (int) img_buf[index+add_ind];
|
||||
index = loc->y * img->w * pixel_width + (loc->x+1) * pixel_width;
|
||||
gradient_x += (int) img_buf[index+add_ind];
|
||||
// dy:
|
||||
index = (loc->y-1) * img->w * pixel_width + loc->x * pixel_width;
|
||||
gradient_y -= (int) img_buf[index+add_ind];
|
||||
index = (loc->y+1) * img->w * pixel_width + loc->x * pixel_width;
|
||||
gradient_y += (int) img_buf[index+add_ind];
|
||||
}
|
||||
else {
|
||||
// dx:
|
||||
index = loc->y * img->w * pixel_width + (loc->x - 1) * pixel_width;
|
||||
gradient_x -= (int) img_buf[index + add_ind];
|
||||
index = loc->y * img->w * pixel_width + (loc->x + 1) * pixel_width;
|
||||
gradient_x += (int) img_buf[index + add_ind];
|
||||
// dy:
|
||||
index = (loc->y - 1) * img->w * pixel_width + loc->x * pixel_width;
|
||||
gradient_y -= (int) img_buf[index + add_ind];
|
||||
index = (loc->y + 1) * img->w * pixel_width + loc->x * pixel_width;
|
||||
gradient_y += (int) img_buf[index + add_ind];
|
||||
} else {
|
||||
|
||||
// *****
|
||||
// Sobel
|
||||
// *****
|
||||
static int Sobel[9] = {-1, 0, 1, -2, 0, 2, -1, 0, 1};
|
||||
static int total_sobel = 8;
|
||||
// *****
|
||||
// Sobel
|
||||
// *****
|
||||
static int Sobel[9] = { -1, 0, 1, -2, 0, 2, -1, 0, 1};
|
||||
static int total_sobel = 8;
|
||||
|
||||
int filt_ind_y = 0;
|
||||
int filt_ind_x;
|
||||
for (int x = -1; x <= 1; x++) {
|
||||
for (int y = -1; y <= 1; y++) {
|
||||
index = (loc->y + y) * img->w * pixel_width + (loc->x+x) * pixel_width;
|
||||
if(x!=0) {
|
||||
filt_ind_x = (x+1)%3 + (y+1)*3;
|
||||
gradient_x += Sobel[filt_ind_x] * (int) img_buf[index+add_ind];
|
||||
}
|
||||
if(y!=0) {
|
||||
gradient_y += Sobel[filt_ind_y] * (int) img_buf[index+add_ind];
|
||||
}
|
||||
filt_ind_y++;
|
||||
}
|
||||
int filt_ind_y = 0;
|
||||
int filt_ind_x;
|
||||
for (int x = -1; x <= 1; x++) {
|
||||
for (int y = -1; y <= 1; y++) {
|
||||
index = (loc->y + y) * img->w * pixel_width + (loc->x + x) * pixel_width;
|
||||
if (x != 0) {
|
||||
filt_ind_x = (x + 1) % 3 + (y + 1) * 3;
|
||||
gradient_x += Sobel[filt_ind_x] * (int) img_buf[index + add_ind];
|
||||
}
|
||||
if (y != 0) {
|
||||
gradient_y += Sobel[filt_ind_y] * (int) img_buf[index + add_ind];
|
||||
}
|
||||
filt_ind_y++;
|
||||
}
|
||||
gradient_x /= total_sobel;
|
||||
}
|
||||
gradient_x /= total_sobel;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user