Find Jobs
Hire Freelancers

develop a c/c++ windows console application to detect db9 serial pin changes and set pin high/low status - technology explained and source code example provided

$30-250 USD

Fullført
Lagt ut over 5 år siden

$30-250 USD

Betalt ved levering
os: windows 10 / 64 bits application name: [login to view URL] argument: com<port number> (case unsensitive) Application core (example in attached [login to view URL] & .h c++ source): The application is a loop based on windows media timer polling the serial port every milliseconds (code example attached, use of timeSetEvent api -> deprecated, to be replaced). The serial ports are opened and closed with CreateFile and CloseHandle apis. The port pin status are read with GetCommModemStatus api and set with EscapeCommFunction api. All algorithms and api parameter are used in attached source code. system time in ms: GetTickCount() api The application communicates thru standard input/output as follow (still case unsensitive): - quit, bye, exit: ends loop and close console. Return sttus: 0 (exit(0)) - S(et),<pin number>,<value: 0 means low state, not 0 means high state, range 0x00 to 0xFF>: change pin state Ex: s,1,1: set serial port pin 1 to high state - G(et),<pin number>: returns pin state on standard output Ex: g,8: returns pin 8 status with following syntax - P(in),<pin number>,<system date/time in ms>,value: 0 or 1> Ex: p,8,85412001212,0 - when a pin status changes: C(hange),<pin number>,<system date/time in ms>,<value> Ex: c,7,5248554170,0: pin 7 state changed to 0 In case of error: print on standard output: error,<reason>, then exit(1) console. - r : reset idle statusIdleStatus is an int used as mask to detect pin changes (see ResetIdle() in attached source code) Usage example: serialpiner com5: starts application and starts com5 management. in case of error: print error:<error reason> exit(1) if no error: s,2,1: set output pin 2 to high g,2,1: get output pin 2 status p,2,2565448,1: returns pin status 2 with date/time c,3,2566954,0: input pin 3 status change detected to low quit: ends session, exit(0) Environment: visual c/c++ Serial port pinout: [login to view URL] How to test: usb/serial adapter + strap between pin 5 and input pin voltmeter for output pins (1,2,6,8,9)
Prosjekt-ID: 18397144

Om prosjektet

9 forslag
Eksternt prosjekt
Aktiv 5 år siden

Ønsker du å tjene penger?

Fordeler med budgivning på Freelancer

Angi budsjettet og tidsrammen
Få betalt for arbeidet ditt
Skisser forslaget ditt
Det er gratis å registrere seg og by på jobber
Tildelt til:
Brukeravatar
Hi. I'm professional programmer/electronic hardware developer with experience over 20 years and I know very well RS232 protocol and it's physical layer. I can write this program. Regards, Alex.
$250 USD om 3 dager
5,0 (45 omtaler)
6,2
6,2
9 freelancers are bidding on average $169 USD for this job
Brukeravatar
I am very proficient in c and c++. I have 16 years c++ developing experience now, and have worked for more than 7 years. My work is online game developing, and mainly focus on server side, using c++ under Linux environment. I made many great projects using c++, for example, I made the tools which could convert java codes into c++ scripts, of course garbage collection included, this was very similar to a compiler, and was very complex. I also made our own mobile game using c++, I can show you the demo of client, if you like. I am very proficient in java also. I have a very good review on Freelancer.com, I never miss a project once I accept the job, you can check my review. Trust me, please let expert help you.
$150 USD om 3 dager
4,9 (173 omtaler)
7,1
7,1
Brukeravatar
Dear sir. Your project attracted my attention at first glance, because I've extensive experience in C++ & Engineering Programming. I'm really confident about your project, and very eager to join your project. If we have a chance to cooperate, I'll do my best to provide wonderful result. Looking forward to your response. Best Regards.
$200 USD om 3 dager
4,9 (58 omtaler)
6,3
6,3
Brukeravatar
Hey there, the given example will be expanded for making a working console app matching the given description. Will you please specify further requirement? I do development with C++, for engineering native solutions including UWP. How soon may we begin with this? Regards, - Vipul.
$129 USD om 3 dager
5,0 (9 omtaler)
4,2
4,2
Brukeravatar
Hello, I can do it. I have a good experience with working serial ports. So your job is very likely to me.
$133 USD om 7 dager
5,0 (2 omtaler)
3,8
3,8
Brukeravatar
am Senior Embedded Systems & C/C++ developer. Developer expert on VC++, Eclipse Mars for C/C++, gcc,g++ in Win and Linux. OpenGL, OpenCV, Cuda. Developer expert on low level programing on C/C++. Expert on PIC, ATMEL, ARM Microcontroler and Arduino Several years working with programming over communication protocols: USB, RS232, I2C, etc. In this case, the API that could be used is GetCommModemStatus.
$200 USD om 10 dager
5,0 (5 omtaler)
3,5
3,5
Brukeravatar
Hi, I did this kind of apps in past. Can help you on your task. I'm experienced C++ developer and have worked with RS232 on Windows in past. Thanks.
$140 USD om 4 dager
4,8 (2 omtaler)
3,5
3,5
Brukeravatar
I have read and understood your needs for the project but i do have questions: 1) will this need to be TTL or mix voltage technology 2) will the console program just close automatically or will stay on with an press any key before closing to see the error message? 3)How often do you need to know that status of the DB9 port? 4) what operating systems will you be using?
$155 USD om 4 dager
0,0 (0 omtaler)
0,0
0,0
Brukeravatar
I have implementation for command line interpreter (with parsing and validation rule for your need ) already, to do this project just a matter of porting to your application specification. I can also provide you *.ini file for configuration if you want. (using Boost::Program_Option) For serial communication part I have 8 years working in embedded software with SPI, ADC, PWM, UART .. so definitely I can do this w/on any obstacles. My first proposal architecture is we have 1 thread for getting user input command and another execution manger thread where your application will run. The synchronization between threads ( on getting user command during run time) will be done by observer-observee pattern so that it will be very flexible if you want to add more threads for some other operations. I will provide you CMAKE build script project which enable you to develop project in compiler-independency way, you can develop with MSVC in Windows or GCC in Linux with zero effort in porting the build system. I'm looking forward to your response soon so we can discuss more. Thanks.
$166 USD om 2 dager
0,0 (0 omtaler)
0,0
0,0

Om klienten

FRANCEs flagg
Groisy, France
5,0
12
Betalingsmetode bekreftet
Medlem siden jul. 21, 2016

Klientbekreftelse

Takk! Vi har sendt deg en lenke for at du skal kunne kreve din gratis kreditt.
Noe gikk galt. Vær så snill, prøv på nytt.
Registrerte brukere Publiserte jobber
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Forhåndsvisning innlasting
Tillatelse gitt for geolokalisering.
Påloggingsøkten din er utløpt og du har blitt logget ut. Logg på igjen.