Switch to full style
Data recovery and disk repair questions and discussions related to old-fashioned SATA, SAS, SCSI, IDE, MFM hard drives - any type of storage device that has moving parts
Post a reply

How do I change diagnostic level /x in C program

October 7th, 2009, 11:17

I am currently working on some kind of low level HDD diag and recovery tool project.
I have built RS232-TTL converter and connected HDD using it. Now Trying to build a GUI tool to communicate to HDD and do requested things.


Till Now I am successful in writing C code for sending single byte diagnostic commands to Seagate SATA drive. BUt when I am sending a multibyte command like "/1", it is giving me output like "Input Command Error".

I am using BYTE array to scan user input and passing char * pointer to that array to my function which writes that string to COM port i.e HDD.

Note : All diagnostic commands are working properly while connected with HyperTerminal or Putty.

Is anybody having any idea, suggestion for this.

-ADITYA

Re: How do I change diagnostic level /x in C program

October 7th, 2009, 16:02

Introduce a delay between characters sent and lines.

Re: How do I change diagnostic level /x in C program

October 8th, 2009, 4:24

you do need a delay. You also (as I found with my machine) need the GND connected or you get bullsh1t echo

Re: How do I change diagnostic level /x in C program

October 8th, 2009, 5:34

Hurray!

the problem is resolved as line feed is added to data to be written
(scanf( ) omits the \n so i added it explicitly) :D

Re: How do I change diagnostic level /x in C program

October 9th, 2009, 4:11

thats the easy bit :P
Post a reply