int CmdGetIoName(TCPSOCKET * sock,CmdHead * cmd,int datasize) { const uint8_t outsize = sizeof(CmdIoName); uint8_t buffer[sizeof(CmdHead)+outsize]; CmdHead * tcmd = (CmdHead *)buffer; CmdIoName * tio = (CmdIoName *)GET_CMD_DATA(tcmd); CmdIoName * rio = (CmdIoName *)GET_CMD_DATA(cmd); // datasize = datasize; // if(!BspReadIoName(rio->io_addr,tio)) { //sprintf(tio->io_name,"INPUT%d",rio->io_addr[0]); tcmd->cmd_option = CMD_ACK_OK; } else { if(THISINFO)printf("CmdGetIoName Failed!!!\r\n"); tcmd->cmd_option = CMD_ACK_KO; } tio->io_addr[0] = rio->io_addr[0]; tio->io_addr[1] = rio->io_addr[1]; // tcmd->cmd = CMD_GET_IO_NAME; tcmd->cmd_index = cmd->cmd_index; tcmd->cmd_len = outsize; tcmd->data_checksum = CalCheckSum(tio,outsize); // NutTcpSend(sock,tcmd,(int)(sizeof(CmdHead)+outsize)); if(THISINFO)printf("CmdGetIoName()\r\n"); return 0; }
int CmdSetIoName(TCPSOCKET * sock,CmdHead * cmd,int datasize) { const uint8_t outsize = sizeof(CmdIoName); uint8_t buffer[sizeof(CmdHead)+outsize]; CmdHead * tcmd = (CmdHead *)buffer; CmdIoName * tio = (CmdIoName *)GET_CMD_DATA(tcmd); CmdIoName * rio = (CmdIoName *)GET_CMD_DATA(cmd); // datasize = datasize; // if(THISINFO)printf("WriteIoname:addr[0]=%d,addr[1]=%d,name=%s",rio->io_addr[0],rio->io_addr[1],rio->io_name); if(!BspWriteIoName(rio->io_addr,rio)) { memcpy(tio,rio,sizeof(CmdIoName)); tcmd->cmd_option = CMD_ACK_OK; } else { if(THISERROR)printf("CmdGetIoName Failed!!!\r\n"); tcmd->cmd_option = CMD_ACK_KO; } // tcmd->cmd = CMD_SET_IO_NAME; tcmd->cmd_index = cmd->cmd_index; tcmd->cmd_len = outsize; // NutTcpSend(sock,tcmd,(int)(sizeof(CmdHead)+outsize)); if(THISINFO)printf("CmdGetIoName()\r\n"); return 0; }
int CmdGetInputCtlModeIndex(TCPSOCKET * sock,CmdHead * cmd,int datasize) { const uint8_t outsize = sizeof(CmdInputModeIndex); uint8_t buffer[sizeof(CmdHead)+outsize]; CmdHead * tcmd = (CmdHead *)buffer; CmdInputModeIndex * sio = (CmdInputModeIndex *)GET_CMD_DATA(tcmd); CmdInputModeIndex * io = (CmdInputModeIndex *)GET_CMD_DATA(cmd); // datasize = datasize; // sio->index = io->index; if(!BspReadManualCtlModeIndex(io->index,&sio->mode)) { tcmd->cmd_option = CMD_ACK_OK; } else { if(THISINFO)printf("BspReadManualCtlModeIndex Failed!!!\r\n"); tcmd->cmd_option = CMD_ACK_KO; } tcmd->cmd = CMD_GET_INPUT_CTL_MODE_INDEX; tcmd->cmd_index = cmd->cmd_index; tcmd->cmd_len = sizeof(CmdInputModeIndex); tcmd->data_checksum = CalCheckSum(sio,sizeof(CmdInputModeIndex)); // NutTcpSend(sock,tcmd,(int)(sizeof(CmdHead)+outsize)); if(THISINFO)printf("CmdGetInputCtlModeIndex()\r\n"); return 0; }
int CmdSetInputCtlModeIndex(TCPSOCKET * sock,CmdHead * cmd,int datasize) { const uint8_t outsize = 0; uint8_t buffer[sizeof(CmdHead)+outsize]; CmdHead * tcmd = (CmdHead *)buffer; CmdInputModeIndex * io = (CmdInputModeIndex *)GET_CMD_DATA(cmd); // datasize = datasize; if(cmd->cmd_len < sizeof(CmdInputModeIndex)) { if(THISERROR)printf("ERROR:CmdSetInputCtlModeIndex cmd->cmd_len ERROR,size(%d)\r\n",cmd->cmd_len); goto error; } // if(!BspWriteManualCtlModeIndex(io->index,io->mode)) { tcmd->cmd_option = CMD_ACK_OK; } else { if(THISINFO)printf("BspWriteManualCtlMode Failed!!!\r\n"); error: tcmd->cmd_option = CMD_ACK_KO; } tcmd->cmd = CMD_SET_INPUT_CTL_MODE_INDEX; tcmd->cmd_index = cmd->cmd_index; tcmd->cmd_len = 0; NutTcpSend(sock,tcmd,(int)(sizeof(CmdHead)+outsize)); if(THISINFO)printf("CmdSetInputCtlModeIndex()\r\n"); return 0; }
int CmdRevertIoOutIndex(TCPSOCKET * sock,CmdHead * cmd,int datasize) { int rc = -1; const uint8_t outsize = sizeof(CmdIobitmap); uint8_t buffer[sizeof(CmdHead)+outsize]; CmdHead * tcmd = (CmdHead *)buffer; CmdIobitmap * sio = (CmdIobitmap *)GET_CMD_DATA(tcmd); CmdIobitmap * io = (CmdIobitmap *)GET_CMD_DATA(cmd); // if(datasize < sizeof(CmdIobitmap)) { if(THISERROR)printf("ERROR:Cmd CmdSetIoOutBit Datasize ERROR\r\n"); tcmd->cmd_option = CMD_ACK_KO; goto error; } // tcmd->cmd_option = CMD_ACK_OK; //rc = _ioctl(_fileno(sys_varient.iofile), IO_SIG_BITMAP, io->io_msk); //rc = _ioctl(_fileno(sys_varient.iofile), IO_OUT_GET, sio->io_msk); io_out_convert_bits(0,io->io_msk,32); memset(sio->io_msk,0,sizeof(sio->io_msk)); io_out_get_bits(0,sio->io_msk,32); rc = 0; error: tcmd->cmd = CMD_REV_IO_SOME_BIT; tcmd->cmd_index = cmd->cmd_index; tcmd->cmd_len = outsize; tcmd->data_checksum = CalCheckSum(sio,outsize); // NutTcpSend(sock,tcmd,(int)(sizeof(CmdHead)+outsize)); if(THISINFO)printf("CmdSetIoOutBit()!\r\n"); return rc; }
int CmdSetIpConfig(TCPSOCKET * sock,CmdHead * cmd,int datasize) { const uint8_t outsize = 0; uint8_t buffer[sizeof(CmdHead)+outsize]; CmdHead * tcmd = (CmdHead *)buffer; CmdIpConfigData * io = (CmdIpConfigData *)GET_CMD_DATA(cmd); // if(datasize < sizeof(CmdIpConfigData)) { if(THISERROR)printf("ERROR:Cmd CmdSetIpConfigData Datasize ERROR,size(%d)",datasize); goto error; } // if(!BspWriteIpConfig(io)) { tcmd->cmd_option = CMD_ACK_OK; } else { error: tcmd->cmd_option = CMD_ACK_KO; } // tcmd->cmd = CMD_SET_IP_CONFIG; tcmd->cmd_index = cmd->cmd_index; tcmd->cmd_len = 0; // NutTcpSend(sock,tcmd,(int)(sizeof(CmdHead)+outsize)); if(THISINFO)printf("CmdSetIpConfig()\r\n"); return 0; }
int CmdIoFinish(TCPSOCKET * sock,CmdHead * tcmd,int outsize) { tcmd->cmd_len = outsize; tcmd->data_checksum = CalCheckSum(GET_CMD_DATA(tcmd),outsize); NutTcpSend(sock,tcmd,(int)(sizeof(CmdHead)+outsize)); //if(THISINFO)printf("CmdIoFinish()\r\n"); return 0; }
void clientSend(TCPSOCKET *sock, char* buffer, int len){ if (NutTcpSend(sock, buffer, len) != len) { LogMsg_P(LOG_INFO, PSTR("Fout bij zenden client data")); } else{ LogMsg_P(LOG_INFO, PSTR("Geen Fout bij zenden client data?")); } }
static int PutString(TCPSOCKET * sock, char * str) { uint16_t len = strlen(str); uint16_t n; int c; for (n = 0; n < len; n += c) if ((c = NutTcpSend(sock, str + n, len - n)) < 0) return -1; return len; }
int CmdSetIoOutValue(TCPSOCKET * sock,CmdHead * cmd,int datasize) { int rc = -1; const uint8_t outsize = sizeof(CmdIoValue); uint8_t buffer[sizeof(CmdHead)+outsize]; CmdHead * tcmd = (CmdHead *)buffer; CmdIoValue * sio = (CmdIoValue *)GET_CMD_DATA(tcmd); // CmdIoValue * io = (CmdIoValue *)GET_CMD_DATA(cmd); // if(datasize < sizeof(CmdIoValue)) { if(THISERROR)printf("ERROR:Cmd Set Io Value Datasize ERROR\r\n"); return -1; } if(io->io_count <= 32) { //uint32_t tmp; //SetRelayWithDelay(group_arry4_to_uint32(io->io_value)); //rc = _ioctl(_fileno(sys_varient.iofile), IO_OUT_SET, io->io_value); //rc = _ioctl(_fileno(sys_varient.iofile), IO_OUT_GET, sio->io_value); io_out_set_bits(0,io->io_value,32); memset(sio->io_value,0,sizeof(sio->io_value)); sio->io_count = io_out_get_bits(0,sio->io_value,32); rc = 0; tcmd->cmd_option = CMD_ACK_OK; sio->io_count = io->io_count; //tmp = GetIoOut(); //sio->io_value[0] = (uint8_t)((tmp >> 0) & 0xFF); //sio->io_value[1] = (uint8_t)((tmp >> 8) & 0xFF); //sio->io_value[2] = (uint8_t)((tmp >> 16) & 0xFF); //sio->io_value[3] = (uint8_t)((tmp >> 24) & 0xFF); } else { if(THISERROR)printf("Cmd Set Io Io Count Error!!\r\n"); tcmd->cmd_option = CMD_ACK_KO; sio->io_count = 0; } tcmd->cmd = CMD_SET_IO_OUT_VALUE; tcmd->cmd_index = cmd->cmd_index; tcmd->cmd_len = outsize; tcmd->data_checksum = CalCheckSum(sio,outsize); // NutTcpSend(sock,tcmd,(int)(sizeof(CmdHead)+outsize)); if(THISINFO)printf("CmdSetIoOutValue()\r\n"); return rc; }
int CmdRevIoOutOneBit(TCPSOCKET * sock,CmdHead * cmd,int datasize) { int rc = -1; const uint8_t outsize = sizeof(CmdIoValue); uint8_t buffer[sizeof(CmdHead)+outsize]; unsigned int num; unsigned char reg; CmdIoOneBit * io = (CmdIoOneBit *)GET_CMD_DATA(cmd); CmdHead * tcmd = (CmdHead *)buffer; CmdIoValue * sio = (CmdIoValue *)GET_CMD_DATA(tcmd); // if(datasize < sizeof(CmdIoOneBit)) { if(THISERROR)printf("ERROR:Cmd CmdSetIoOutOneBit Datasize ERROR\r\n"); tcmd->cmd_option = CMD_ACK_KO; goto error; } // tcmd->cmd_option = CMD_ACK_OK; num = io->io_bitnum[1]; num <<= 8; num += io->io_bitnum[0]; reg = code_msk[0]; printf("rev io one bit ,num = %d\r\n",num); io_out_convert_bits(num,®,1); memset(sio->io_value,0,sizeof(sio->io_value)); sio->io_count = io_out_get_bits(0,sio->io_value,32); rc = 0; error: tcmd->cmd = CMD_REV_IO_ONE_BIT; tcmd->cmd_index = cmd->cmd_index; tcmd->cmd_len = outsize; tcmd->data_checksum = CalCheckSum(sio,outsize); // NutTcpSend(sock,tcmd,(int)(sizeof(CmdHead)+outsize)); if(THISINFO)printf("CmdSetIoOutBit()!\r\n"); return rc; }
int CmdGetIoInValue(TCPSOCKET * sock,CmdHead * cmd,int datasize) { int rc = -1; //uint32_t tmp; const uint8_t outsize = sizeof(CmdIoValue); uint8_t buffer[sizeof(CmdHead)+outsize]; CmdHead * tcmd = (CmdHead *)buffer; CmdIoValue * sio = (CmdIoValue *)GET_CMD_DATA(tcmd); // datasize = datasize; // //rc = _ioctl(_fileno(sys_varient.iofile), GET_IN_NUM, &tmp); //sio->io_count = (unsigned char)tmp; //if(tmp) { //rc = _ioctl(_fileno(sys_varient.iofile), IO_IN_GET, sio->io_value); //} memset(sio->io_value,0,sizeof(sio->io_value)); sio->io_count = io_in_get_bits(0,sio->io_value,32); rc = 0; //sio->io_count = 8; //sio->io_value[0] = (uint32_t)((GetFilterInput() >> 0) & 0xFF); //sio->io_value[1] = (uint32_t)((GetFilterInput() >> 8) & 0xFF); //sio->io_value[2] = (uint32_t)((GetFilterInput() >> 16) & 0xFF); //sio->io_value[3] = (uint32_t)((GetFilterInput() >> 24) & 0xFF); // tcmd->cmd_option = CMD_ACK_OK; tcmd->cmd = CMD_GET_IO_IN_VALUE; tcmd->cmd_index = cmd->cmd_index; tcmd->cmd_len = outsize; tcmd->data_checksum = CalCheckSum(sio,outsize); // NutTcpSend(sock,tcmd,(int)(sizeof(CmdHead)+outsize)); if(THISINFO)printf("CmdGetIoInValue()!\r\n"); return rc; }
int CmdGetIpConfig(TCPSOCKET * sock,CmdHead * cmd,int datasize) { const uint8_t outsize = sizeof(CmdIpConfigData); uint8_t buffer[sizeof(CmdHead)+outsize]; CmdHead * tcmd = (CmdHead *)buffer; CmdIpConfigData * sio = (CmdIpConfigData *)GET_CMD_DATA(tcmd); // datasize = datasize; // if(!BspReadIpConfig(sio)) { tcmd->cmd_option = CMD_ACK_OK; } else { tcmd->cmd_option = CMD_ACK_KO; } // tcmd->cmd = CMD_GET_IP_CONFIG; tcmd->cmd_index = cmd->cmd_index; tcmd->cmd_len = sizeof(CmdIpConfigData); tcmd->data_checksum = CalCheckSum(sio,sizeof(CmdIpConfigData)); // NutTcpSend(sock,tcmd,(int)(sizeof(CmdHead)+outsize)); if(THISINFO)printf("CmdGetIpConfig()\r\n"); return 0; }
//-------------------------------------------------------------------- int CmdGetIoOutValue(TCPSOCKET * sock,CmdHead * cmd,int datasize) { int rc = -1; const uint8_t outsize = sizeof(CmdIoValue); uint8_t buffer[sizeof(CmdHead)+outsize]; CmdHead * tcmd = (CmdHead *)buffer; CmdIoValue * sio = (CmdIoValue *)GET_CMD_DATA(tcmd); // datasize = datasize; // memset(sio->io_value,0,sizeof(sio->io_value)); sio->io_count = io_out_get_bits(0,sio->io_value,32); rc = 0; // tcmd->cmd_option = CMD_ACK_OK; tcmd->cmd = CMD_GET_IO_OUT_VALUE; tcmd->cmd_index = cmd->cmd_index; tcmd->cmd_len = outsize; tcmd->data_checksum = CalCheckSum(sio,outsize); NutTcpSend(sock,tcmd,(int)(sizeof(CmdHead)+outsize)); if(THISINFO)printf("CmdGetIoOutValue OK\r\n"); return rc; }