コード例 #1
0
ファイル: series.c プロジェクト: dext3r/wifi_monome
static int proto_series_led_row(monome_t *monome, uint_t row, size_t count, const uint8_t *data) {
	uint16_t sdata;

	switch( ((monome->rows > 8) << 1) | (count > 1)) {
	case 0x0: /* 1-byte monome, 1-byte message */
	case 0x1: /* 1-byte monome, 2-byte message */
		return proto_series_led_col_row_8(
			monome, PROTO_SERIES_LED_ROW_8, row, data);

	case 0x2: /* 2-byte monome, 1-byte message */
		sdata = *data;

		return proto_series_led_col_row_16(
			monome, PROTO_SERIES_LED_ROW_16, row,
			((const uint8_t *) &sdata));

	case 0x3: /* 2-byte monome, 2-byte message */
		return proto_series_led_col_row_16(
			monome, PROTO_SERIES_LED_ROW_16, row, data);
	}

	return -1;
}
コード例 #2
0
ファイル: series.c プロジェクト: kellydunn/libmonome
static int proto_series_led_col(monome_t *monome, uint_t x, uint_t y_off,
                                size_t count, const uint8_t *data) {
	uint16_t sdata;

	switch( ((monome_get_rows(monome) > 8) << 1) | (count > 1)) {
	case 0x0: /* 1-byte monome, 1-byte message */
	case 0x1: /* 1-byte monome, 2-byte message */
		return proto_series_led_col_row_8(
			monome, PROTO_SERIES_LED_COL_8, x, data);

	case 0x2: /* 2-byte monome, 1-byte message */
		sdata = *data;

		return proto_series_led_col_row_16(
			monome, PROTO_SERIES_LED_COL_16, x,
			((const uint8_t *) &sdata));

	case 0x3: /* 2-byte monome, 2-byte message */
		return proto_series_led_col_row_16(
			monome, PROTO_SERIES_LED_COL_16, x, data);
	}

	return -1;
}