Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   Sending Data (http://www.chiefdelphi.com/forums/showthread.php?t=21854)

Raven_Writer 09-09-2003 19:50

Sending Data
 
Ok, I'm almost done w/ my PBASIC Editor, and I'm just wondering...how would you send the code (in MFC)?

I've created a thread, and it doesn't have any problems.

I've been looking at how roboIDE sent the code, and if anyone can just translate these from Linux to Windows I would be set (I don't know any *nux programming):
Code:

read(fd, data, bytes);
I know the "read(...);" function reads the data from a port...but I'm not sure of the equivalent of it in Windows.

Code:

write(fd, data, bytes);
Save as "read(...);"
Code:

close(fd);
I've attempted "CloseHandle(...);", but it throws back a error.
Code:

int openSerial(char *port){
  int fd;
  struct termios tios;

  fd=open(port, O_NOCTTY | O_RDWR | O_NONBLOCK);
  if(fd<0){
    sprintf(lastError, "%s: %s\n", port, strerror(errno));
    return fd;
  }

  bzero(&tios, sizeof(termios));

  tios.c_cflag = BAUDRATE | CS8 | CREAD;
  tios.c_iflag = IGNPAR;
  tios.c_oflag=0;

  tios.c_lflag=0;

  //satisfy read immediately.
  tios.c_cc[VTIME]=0;
  tios.c_cc[VMIN]=0;

  tcflush(fd, TCIFLUSH);
  tcsetattr(fd, TCSANOW, &tios);

  return fd;
}

<<EDIT>>: I know fd stands for file directive (I think anyways).

Brandon Martus 09-09-2003 21:51

Re: Sending Data
 
Quote:

Originally posted by Raven_Writer
<<EDIT>>: I know fd stands for file directive (I think anyways).
File Descriptor. I can't help with your actual question, though, .. sorry

Raven_Writer 10-09-2003 13:11

Re: Re: Sending Data
 
Quote:

Originally posted by Brandon Martus
File Descriptor. I can't help with your actual question, though, .. sorry
Thanks Brandon ;) I talked to Rob last night, and now I only need help on the last code section. read() = ReadFile(), write() = WriteFile().

<< Edit >>: The stuff below bolded is what I don't get:
Code:

int openSerial(char *port){
  struct termios tios;

  fd=open(port, O_NOCTTY | O_RDWR | O_NONBLOCK);
  if(fd<0){
    sprintf(lastError, "%s: %s\n", port, strerror(errno));
    return fd;
  }

  tios.c_cflag = BAUDRATE | CS8 | CREAD;
  tios.c_iflag = IGNPAR;
  tios.c_oflag=0;

  tios.c_lflag=0;


  //satisfy read immediately.
  tios.c_cc[VTIME]=0;
  tios.c_cc[VMIN]=0;

  tcflush(fd, TCIFLUSH);
  tcsetattr(fd, TCSANOW, &tios);


  return fd;
}


rbayer 10-09-2003 16:39

You're trying to mix POSIX and Win32. The two are NOT compatible and probably never will be, knowing MS. Instead, I'd recomend you grab code snippets out of RoboGUI, as it also has the ability to tokenize and send directly to the RC.

-Rob

Raven_Writer 10-09-2003 16:41

Quote:

Originally posted by rbayer
You're trying to mix POSIX and Win32. The two are NOT compatible and probably never will be, knowing MS. Instead, I'd recomend you grab code snippets out of RoboGUI, as it also has the ability to tokenize and send directly to the RC.

-Rob

Ok, thanks. I've been able to get most of the code to compile without error though (not been able to actually send though, not tested that far). I've been looking through both RoboGUI and RoboEMU, and RoboGUI I thought had some sending code (and apperently I'm right, woo hoo!).

Again, thanks.

Rickertsen2 10-09-2003 22:48

If i remember correctly, there is an MSDN article on serial port communications, with code samples.

<edit>
or maybie not. I can't seem to find the article. I know im not crazy. Im pretty sure i saw it at one time or another.
</edit>

Raven_Writer 11-09-2003 14:46

I've got my program 99.9% running without problems. Only problem I'm having right now is having it not close when it cannot connect/send data to a specific port.

If you would like to see my code for it (it'll be a big thing to post on CD), IM, PM, or e-mail me.

rbayer 11-09-2003 16:05

Umm... more details, please. What is/isn't closing that shouldn't/should be? Are you talking about the file handle? Or the program itself.
/me=:confused:

Raven_Writer 11-09-2003 16:28

Quote:

Originally posted by rbayer
Umm... more details, please. What is/isn't closing that shouldn't/should be? Are you talking about the file handle? Or the program itself.
/me=:confused:

Sorry. Here's what happens:

I open a file that has the default code for v2 of PBASIC that Innovation First supplied us, and goto Run->Download (which downloads the code). When I do that, what happens is that it shows two message boxes saying "Error getting serial port status" (which I can pin-point where the main problem seems to be). Then after I click OK twice (once for each message box), the program itself closes.

(I know this may be a bunch of wasted typing, but I hope that it clears it up as much as possible)


All times are GMT -5. The time now is 09:38.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi