Ejemplo n.º 1
0
uchar usbFunctionWrite(uchar *data, uchar len)
{
	memcpy(&msg[pos], data, len);
	pos+=len;
	if (pos != rq_len) 
		return 0; /* Need moar data */
	uint8_t ret = 0;
	uint8_t retries = 15;
	switch (last_rq) 
	{
	case RQ_SET_REMOTE_ADDR:
		memcpy(remote_addr, msg, 5);
		break;
	case RQ_SET_LOCAL_ADDR:
		memcpy(local_addr, msg, 5);
		break;
	case RQ_WRITE:
		do { 
			rf24_power_up(g_radio);
			rf24_open_writing_pipe(g_radio, remote_addr);	       
			ret = rf24_write(g_radio, msg, pos);
			PORTC ^= 1<<2;
			delay_ms(5);
		} while( ret && retries--);
		break;
	}
	strcpy(msg, ((ret==0) && retries) ? "OK" : "FAIL");
	return 1;
}
Ejemplo n.º 2
0
int writeMessage(void* message, uint8_t address[5], uint16_t length) {
    transmitLedOn();
    _delay_ms(250);
    rf24_stop_listening(&r);
    rf24_open_writing_pipe(&r, address);    
    int writeReturn = rf24_write(&r, &message, length*sizeof(uint8_t));
    _delay_ms(250);
    rf24_start_listening(&r);
    transmitLedOff();
    return writeReturn
}
Ejemplo n.º 3
0
int sendConfigRequest(uint8_t address[5]) {
    message_type_t type = REQUESTCONFIG;
    ConfirmAddress msg;
    msg.messageId = type;
    msg.length = 3;
    PORTD ^= (1<<4);
    _delay_ms(250);
    rf24_stop_listening(&r);
    rf24_open_writing_pipe(&r, address);
    int writeReturn = rf24_write(&r, &msg, msg.length*sizeof(uint8_t));
    _delay_ms(250);
    rf24_start_listening(&r);
    PORTD ^= (1<<4);
    printk("sent config request message\n");
    return writeReturn;
}
Ejemplo n.º 4
0
uint8_t sendConfigResponse(uint8_t address[5]) {
    message_type_t type = RESPONDCONFIG;
    RespondConfig msg;
    msg.messageId = type;
    msg.length = 8;
    msg.numberOfSensors = 3;
    msg.sensorTypes = sensorIds; 
    PORTD ^= (1<<4);
    _delay_ms(250);
    rf24_stop_listening(&r);
    rf24_open_writing_pipe(&r, address);
    int writeReturn = rf24_write(&r, &msg, msg.length*sizeof(uint8_t));
    _delay_ms(250);
    rf24_start_listening(&r);
    PORTD ^= (1<<4);
    printk("sent config message\n");
    return writeReturn;
}