void sdoWriteSegmented(uint16_t index, uint8_t subindex, int length) { sendReq(0x21, index, subindex, (uint8_t*) &length, 4); }
uint32_t sdoReadSegmented(uint16_t index, uint8_t subindex) { uint32_t zero = 0; sendReq(0x40, index, subindex, (uint8_t*) &zero, 4); return (rxMsg.data[7] << 24) | (rxMsg.data[6] << 16) | (rxMsg.data[5] << 8) | rxMsg.data[4]; }
void sdoWriteExpedited(uint16_t index, uint8_t subindex, const uint32_t data, uint8_t length) { sendReq((1<<5) | ((4-length)<<2) | 0b11, index, subindex, (uint8_t*) &data, length); }
void firstRequest(SOCKET s, char * request, const char * hostName) { sprintf(request, "GET /var/1 HTTP/1.1\r\nHost:%s\r\n\r\n", hostName); sendReq(s, request, strlen(request)); }
void thirdRequest(SOCKET s, char * request, char * server_reply, char * result, const char * hostName) { sprintf(request, "POST /var/1 HTTP/1.1\r\nHost:%s\r\nContent-Length: %d\r\n\r\n%s", hostName, strlen(result), result); sendReq(s, request, strlen(request)); }
void secondRequest(SOCKET s, char * request, char * server_reply, const char * hostName) { sprintf(request, "GET /var/1?%s HTTP/1.1\r\nHost:%s\r\n\r\n", server_reply, hostName); sendReq(s, request, strlen(request)); }