Sciencemadness Discussion Board

Genesys 2 or 5 Software

ScienceHideout - 1-4-2014 at 14:23

As you may or may not know, I got a Genesys 5 spectrophotometer with a scanning ability and fixed it up to be really nice. Finally, I got it to power up and work perfectly.

Lately I have really been wanting to connect it to a computer via RS-232-C, and I have the appropriate cord. What I DON'T have is the software, and I don't even know what I need... perhaps something like WinSpec. If anyone can point me in the right direction to get spectrophotometer software, preferably free, that would be greatly appreciated.

Just some info about the connection:
9 pins:
-1-Data Carrier Detect
-2-Receive Data
-3-Transmit Data
-4-Data terminal ready
-5-Signal Ground
-6-Data Set Ready
-7-Request to Send
-8-Clear to Send
-9-Ring Indicator
DCE Format
Baud Rate: 300, 1200, 2400, 4800, or 9600 (selectable)
Transmission mode: Full duplex
8 data bits with even, odd, or no parity (selectable)

The following page gives a list of 'commands' that can be typed in, I am assuming to the computer, and it will perform that function.

Thanks in advance!
-Dean

The Volatile Chemist - 3-4-2014 at 08:26

What Page (For the commands)? But If the commands are just text, it should be easy to access. Open up a serial terminal on your computer and try typing one in. If you give me a list of the commands, I have enough free time to make a program that does them for you (With a GUI), if you'd like...

[Edited on 4-3-2014 by The Volatile Chemist]

ScienceHideout - 3-4-2014 at 11:54

Volatile, you are truly awesome and I would love it so much if you would be kind enough to do that. My computer knowledge is somewhat... erm... lacking, so I commend you :)

http://www.artisantg.com/info/PDF__5370656374726F6E69635F476...

On page 102 of the above manual it discusses all about the RS-232-C, and on the following page it gives the commands.

Once again, thank you very much!
Dean

The Volatile Chemist - 4-4-2014 at 08:21

Quote: Originally posted by ScienceHideout  
Volatile, you are truly awesome and I would love it so much if you would be kind enough to do that. My computer knowledge is somewhat... erm... lacking, so I commend you :)

http://www.artisantg.com/info/PDF__5370656374726F6E69635F476...

On page 102 of the above manual it discusses all about the RS-232-C, and on the following page it gives the commands.

Once again, thank you very much!
Dean


Glad to be of assistance! It made my day that the very thing you needed was one of the only things I knew how to do well! :) Looking into it, I'll be able to give you a test program in 5 hours (School first...), Then maybe a real program within 3 days. Good? Just checking, you run windows, mac, or linux-based???? ( may not be able to do it on the second two....)

The Volatile Chemist - 4-4-2014 at 12:30

So, run the below program, with your spectrophotometer on serial mode, even parity, and 9600 baud. When the program runs, a tiny message box will pop up. Click the test button. If all works well, a message "Hello World!" Will be displayed on your spectrophotometer. If it doesn't work, don't worry, I probably just mixed something up. The program runs on windows only. If it does work, be sure to tell me! The purpose of this is to test my system of communication that I used with the Spectrophotometer.
Hope it works!
Nathan

PS: I'll soon be getting on the real program, just want to make sure it works first. Give me a list of things you would like to be able to do with your spectrophotometer through this program.

Sorry, forgot the program! :
http://ptp.x10.mx/test.exe

[Edited on 4-4-2014 by The Volatile Chemist]

ScienceHideout - 4-4-2014 at 14:40

Thank you, I will test this as soon as I get a chance, probably later tonight :) I will let you know ASAP if this works.

ScienceHideout - 4-4-2014 at 15:08

Okay, it looks like it is all good and the Hello World message comes up :) Thank you soo much!

Here is a list of commands that I would like the machine to perform:

AUTOZERO
AUTOZERO absorbance
BASELINE
CELL cell number
CELL +
CELL -
DATAMODE ABS
DATAMODE TRANS
DEUTERIUM OFF
DEUTERIUM ON
EXIT
PRINT
SCAN resolution start wavelength stop wavelength
WAVELENGTH wavelength

Now, I am not sure if this is possible, but can the machine take the data from a scan and send it directly to the computer instead of on the soft card in the machine?

Thank you again, very much :D
Dean

[Edited on 4-4-2014 by ScienceHideout]

[Edited on 4-4-2014 by ScienceHideout]

The Volatile Chemist - 5-4-2014 at 11:19

Quote: Originally posted by ScienceHideout  
Okay, it looks like it is all good and the Hello World message comes up :) Thank you soo much!

Here is a list of commands that I would like the machine to perform:

AUTOZERO
AUTOZERO absorbance
BASELINE
CELL cell number
CELL +
CELL -
DATAMODE ABS
DATAMODE TRANS
DEUTERIUM OFF
DEUTERIUM ON
EXIT
PRINT
SCAN resolution start wavelength stop wavelength
WAVELENGTH wavelength

Now, I am not sure if this is possible, but can the machine take the data from a scan and send it directly to the computer instead of on the soft card in the machine?

Thank you again, very much :D
Dean

[Edited on 4-4-2014 by ScienceHideout]

[Edited on 4-4-2014 by ScienceHideout]

It worked? That's great! I'll get on the program. I can make functions for all of those commands (And probably throw in a few more. For example, you said something to the means of you having to work on this before it turned on? I'll make it run a diagnostic check to :) )

In answer to your question, is a "scan" a picture, or a number (Data). There seems to be a command (DATA) that retrieves data at a wavelength. I could make a program that changes the wavelength and reads data for a cell, generating a list of values for many wavelengths. It would output CSV (Comma separated Values) files, which could be inputted into Excel (Or other spreadsheet program) to make a graph of how well a substance absorbs light at certain wavelengths. Is that what you were talking about?

ScienceHideout - 5-4-2014 at 11:59

Yes, that sounds amazing! Thank you again so much!

The Volatile Chemist - 5-4-2014 at 12:47

Quote: Originally posted by ScienceHideout  
Yes, that sounds amazing! Thank you again so much!

Glad to hear it! was working on the actual program when you posted the last reply. I've implemented Autozero, Autozero <absorbance>, Baseline, and baseline with settings (choose the start & stop wavelengths, and the wavelength increment, this function was built in, I'll make another one for generating data for graphs.
Glad to be of help! (It's fun for me too! :) )
Nathan

Tomorrow, or later today I'll give you a copy of what I've done so far (Not much, but it should at least be helpful)

The Volatile Chemist - 5-4-2014 at 15:26

Quote: Originally posted by ScienceHideout  
Yes, that sounds amazing! Thank you again so much!

First version finished. Only has a few of the features you wanted, but I thought I'd give you something of my day's work. I'll add the rest later (Tomorrow). You can get it here:
http://ptp.x10.mx/SpecControl.exe

Features (So far)
Scan- Type in resolution, start, and stop values in 3 text boxes, hit 'scan' button.
Moving between cells- Hit the up and down buttons next to the textboxes to move between cells. Hit the 'X' to move to the cell in the number box next to it. Hit the Baseline button to perform the baseline function.
Port Number- Select the COM port in the upper right corner, change is instant.
Adjustment > Set Zero Value - Sets the last read value as zero absorbance
Adjustment > Set Correct Value - Sets last read value to it's correct value, as input-ted by you
The wavelength function under Adjustment doesn't work yet...

Glad to help!
Nathan

ScienceHideout - 5-4-2014 at 18:03

Okay, so I just went down in the lab and tested the machine... I connected it, turned the RS-232 on... everything looked good. Then I pressed a button on the program and the machine said there was an 'Serial Communication Error.' I tried a few different buttons, tried typing text in the message box, nothing worked. This puzzled me, so I opened up the 'Hello World!' program that you made earlier, and I can still get the message to come up fine on the spec... however, if you leave it to idle with that message for a few minutes, the error comes up. This really baffles me... Looked in the troubleshooting section of the manual and It doesn't even list this code. I honestly have no idea what parity is, but could that affect it? I know that most programs have no parity... Hmmm... Do you think that changing it to another 'COM' port would do anything? I can go into my device manager and change it to COM 3 or whatever...

Anyways, thanks for what you have done so far! I can't wait to perform scans and stuff!

The Volatile Chemist - 5-4-2014 at 19:50

Quote: Originally posted by ScienceHideout  
Okay, so I just went down in the lab and tested the machine... I connected it, turned the RS-232 on... everything looked good. Then I pressed a button on the program and the machine said there was an 'Serial Communication Error.' I tried a few different buttons, tried typing text in the message box, nothing worked. This puzzled me, so I opened up the 'Hello World!' program that you made earlier, and I can still get the message to come up fine on the spec... however, if you leave it to idle with that message for a few minutes, the error comes up. This really baffles me... Looked in the troubleshooting section of the manual and It doesn't even list this code. I honestly have no idea what parity is, but could that affect it? I know that most programs have no parity... Hmmm... Do you think that changing it to another 'COM' port would do anything? I can go into my device manager and change it to COM 3 or whatever...

Anyways, thanks for what you have done so far! I can't wait to perform scans and stuff!


Well, that at least will be easy to solve. What commands did you try running? Did you set your machine to 9600 Baud, even parity? I'll try a few edits to the transmit code, change it back to how it was. This should fix it. If it doesn't, it's likely it has a problem with a command or commands. which did you try?
Expect an updated file afternoon tomorrow, which will hopefully fix the problem you described.
Thanks for the info!
Nathan

The Volatile Chemist - 6-4-2014 at 10:53

Alright. I uploaded a hopefully better program.
http://ptp.x10.mx/SpecControl2.exe
Please do the following test (It now runs at these following specs.) Set your Spectrophotometer (Sheesh, long word...) to 4800 Baud, with EVEN parity. Only open one program at a time which accesses the COM port that the machine is using. Set the COM port in the upper right corner to whatever port you are using. Press Communication >> Screen Message, and type in something. If an error comes up then, restart everything. If an error comes up when you start the program.... Tell me. Next (If it doesn't error on start), press the 'Up' arrow button. This SHOULD move up one cell. Tell me what happens.
Thanks!
Nathan

It's possible you asked the machine to do something it couldn't. To run a scan, you must type reasonable numbers into the resoulution, start (Minimum), and stop (Maximum) text boxes.

[Edited on 4-6-2014 by The Volatile Chemist]

ScienceHideout - 6-4-2014 at 18:50

Okay, I changed the baud rate, made sure the parity was even, com 1, etc... Typed in something, and I still got the same error on the machine. I reset the machine and everything, and I tried to press other buttons thinking 'maybe it is only the message command that is corrupt." I pressed the button to move the sample cell, still, the error came up :(

The Volatile Chemist - 7-4-2014 at 08:19

Slashed this first part....

Note: You have to run a baseline before running a scan no matter what, probably should have read more...

[Edited on 4-7-2014 by The Volatile Chemist]
Edit: PROBLEM-Solved.... I figured out the command terminator was a CR.... I was using CRLF!!!! Wohoo! I'll implement it tonight!

[Edited on 4-7-2014 by The Volatile Chemist]




OK, This should be fixed. Go to your RS-232 C settings. Keep it at even parity, 4800 baud, etc. One thing, check your settings for RS-232C TERMINATOR: which should be CR right now. If not, tell me, but try to run this first:
http:/ptp.x10.mx/SpecControl3.exe
It should work, as I saw an error, I had used the wrong line terminator! :)

[Edited on 4-7-2014 by The Volatile Chemist]

[Edited on 4-7-2014 by The Volatile Chemist]

ScienceHideout - 7-4-2014 at 15:03

Unfortunately it doesn't seem like that was the problem :( I can try the 2nd edition again and see if I can change the machine to CLRF, otherwise, I have no clue what the issue may be. Is the program running 8 data bits?

The Volatile Chemist - 8-4-2014 at 08:23

Quote: Originally posted by ScienceHideout  
Unfortunately it doesn't seem like that was the problem :( I can try the 2nd edition again and see if I can change the machine to CLRF, otherwise, I have no clue what the issue may be. Is the program running 8 data bits?

I think so.... Did you try the thing you proposed above? Running version 2 with CRLF? That may work! I'll look for other problems in it tonight. If the CRLF thing doesn't work, change it back to CR, and I'll make another one tonight. Actually, I'll make a few. Tell me if any of them work. I'll post them as a second post to this one.
Sorry about how it's going so far...
Nathan

The Volatile Chemist - 8-4-2014 at 11:39

Try This at CR, 4800 Baud, Even parity, 8 bits data:
http://ptp.x10.mx/SpecControl.exe

aga - 8-4-2014 at 13:38

Hi from an Ancient.

RS232 is generally a Bitch unless all the parameters are known.

First off, what cable do you have ?

Second, is there any Setup that you can do on the machine, such as DIP switches etc ?

If you're on windows, try using hypertrm.exe and see if the machine talks nicely to you.

If you do not have hypertrm.exe i'll send it to you.

[Edited on 8-4-2014 by aga]

aga - 8-4-2014 at 13:50

Sorry. I missed the 'It worked' statement.

Most likely you are hitting a buffer overflow error - the machine's RS232 buffer cannot keep up with the rate the PC sends data (not the baud rate : the rate at which the PC sends characters at whatever baud rate).

You can work around that by introducing a delay in software between sending characters (depends on PC speed) or, much better, use the CTS/RTS/DTR lines of the RS232 interface.

Another method is XON/XOFF which is much the same, but without the extra wires.

Both methods prevent the sender (the PC) sending anything if the machine is busy/unable to accept more characters.

Seeing as the machine and the PC were OK with short messages, it is likely that this is the problem.

[Edited on 8-4-2014 by aga]

The Volatile Chemist - 9-4-2014 at 11:04

Quote: Originally posted by aga  
Sorry. I missed the 'It worked' statement.

Most likely you are hitting a buffer overflow error - the machine's RS232 buffer cannot keep up with the rate the PC sends data (not the baud rate : the rate at which the PC sends characters at whatever baud rate).

You can work around that by introducing a delay in software between sending characters (depends on PC speed) or, much better, use the CTS/RTS/DTR lines of the RS232 interface.

Another method is XON/XOFF which is much the same, but without the extra wires.

Both methods prevent the sender (the PC) sending anything if the machine is busy/unable to accept more characters.

Seeing as the machine and the PC were OK with short messages, it is likely that this is the problem.

[Edited on 8-4-2014 by aga]

Thanks! ScienceHidout, did you try it??? (The most recent link?)

aga - 9-4-2014 at 12:22

Just for completeness, the CTS/RTS/DTR pins on an RS232 connection are as follows :-

CTS = Clear To Send - a signal saying 'you may send me some data'
RTS = Ready To Send - a signal saying 'i have some data is to send you'
DTR = Data Terminal Ready - a signal saying that a device is ready to accept data, dependent on CTS.

The C in RS232C just means that the RS232 signals run at 12 volts.

ScienceHideout - 9-4-2014 at 12:55

Unfortunately, the newest program didn't work nor did changing the termination thing on the previous ones... So far the best working one was the 'hello world' one :P

The Volatile Chemist - 9-4-2014 at 13:17

Quote: Originally posted by ScienceHideout  
Unfortunately, the newest program didn't work nor did changing the termination thing on the previous ones... So far the best working one was the 'hello world' one :P

Looking into it...

The Volatile Chemist - 9-4-2014 at 13:33

EDIT:
I found this, it may work:
http://www.ascanis.com/Visitor_Downloads/visitor_downloads.h...



OK.... I've been looking into it... I can't seem to find any problems in my code... I apologise, but unless you have any sugestions, I'm gonna have to quit. If only I could have got something to communicate....

My code is below. You might recognize something:


Imports System.IO.Ports

Public Class Form1
Dim connectto As String = "COM1"
Dim txtmsg As String = ""
Dim zeroset As Boolean = False
Dim valueset As Double = 0
Dim baseline As Boolean = False
Dim baselineval As Boolean = False
Dim cellplus As Boolean = False
Dim cellminus As Boolean = False
Dim cellc As Boolean = False

Private Sub Update_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Update.Tick
connectto = "COM" & NumericUpDown1.Value.ToString
ToolStripStatusLabel1.Text = connectto
Using comPort = My.Computer.Ports.OpenSerialPort(connectto, 9600, System.IO.Ports.Parity.None, 8, System.IO.Ports.StopBits.One)
comPort.Handshake = System.IO.Ports.Handshake.None
comPort.DtrEnable = True

If txtmsg <> "" Then
comPort.Write("DISPLAY " & Chr(34) & txtmsg & Chr(34) & vbCr)
txtmsg = ""
End If

If zeroset Then
comPort.Write("AUTOZERO" & vbCr)
zeroset = False
End If

If valueset <> 0 Then
comPort.Write("AUTOZERO " & valueset.ToString & vbCr)
valueset = 0
End If

If baseline Then
comPort.Write("BASELINE" & vbCr)
baseline = False
End If

If baselineval Then
comPort.Write("SCAN " & TextBox1.Text & " " & TextBox2.Text & " " & TextBox3.Text & vbCr)
baselineval = False
End If

If cellplus Then
comPort.Write("CELL +" & vbCr)
cellplus = False
End If

If cellminus Then
comPort.Write("CELL -" & vbCr)
cellminus = False
End If

If cellc Then
comPort.Write("CELL " & NumericUpDown2.Value.ToString & vbCr)
cellc = False
End If

End Using
End Sub

Private Sub ScreenMessageToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ScreenMessageToolStripMenuItem.Click
txtmsg = InputBox("Please type message to be sent to Spectrophotometer visual screen:", "SpecControl", "Text here")
End Sub

Private Sub ExitSpecControlToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitSpecControlToolStripMenuItem.Click
Me.Close()
End Sub

Private Sub SetZeroValueToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SetZeroValueToolStripMenuItem.Click
zeroset = True
End Sub

Private Sub SetCorrectValueToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SetCorrectValueToolStripMenuItem.Click
valueset = Val(InputBox("Please input the correct value of the data read by the spectrophotometer. If value is zero, use 'set zero value' instead"))

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
baseline = True
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
baselineval = True
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
cellplus = True
End Sub

Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
cellminus = True
End Sub

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
cellc = True
End Sub

Private Sub WavelengthToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles WavelengthToolStripMenuItem.Click

End Sub
End Class


[Edited on 4-9-2014 by The Volatile Chemist]

aga - 9-4-2014 at 15:57

Personally i do not recognise the programming language at all.
Probably some Visual Windows stuff.

These bits may be the Sole reason it fails :-

comPort.Handshake = System.IO.Ports.Handshake.None
comPort.DtrEnable = True

DTR will only work if the DTR pin on the machine's RS232 port is actually connected to the PC - need to ask what cable is being used from the machine to the PC (what it's wiring is).

the Handshake = None is a clue - the PC and the machine are not shaking hands : that means that they both assume that data will flow just as fast as they can both accept it.

Seems clear that the machine cannot accept data very fast at all.
E.g. you send it a Calibrate command. It could take 30 seconds to do that, so it's Busy.
If you send it anything else while it's busy and it says 'Comms Error' and stops talking.

Side note: Why are ALL Communication Error messages so short and useless when they refer to some sort of COMMUNICATION error ? You could assume that they would Communicate better, and SAY EXACTLY what the error is.

There is probably a Handshake like XON/XOFF, in which case the DtrEnable will be better turned Off.

Of course, the machine needs to have it's settings made so that It also uses XON/XOFF as well.

Don't give up.

RS232 is a real PITA. Always has been.

You're almost there !

Remember that you almost surely get free access to the machine forever when it works ;)

[Edited on 10-4-2014 by aga]

The Volatile Chemist - 10-4-2014 at 12:37

Quote: Originally posted by aga  
Personally i do not recognise the programming language at all.
Probably some Visual Windows stuff.

These bits may be the Sole reason it fails :-

comPort.Handshake = System.IO.Ports.Handshake.None
comPort.DtrEnable = True

DTR will only work if the DTR pin on the machine's RS232 port is actually connected to the PC - need to ask what cable is being used from the machine to the PC (what it's wiring is).

the Handshake = None is a clue - the PC and the machine are not shaking hands : that means that they both assume that data will flow just as fast as they can both accept it.

Seems clear that the machine cannot accept data very fast at all.
E.g. you send it a Calibrate command. It could take 30 seconds to do that, so it's Busy.
If you send it anything else while it's busy and it says 'Comms Error' and stops talking.

Side note: Why are ALL Communication Error messages so short and useless when they refer to some sort of COMMUNICATION error ? You could assume that they would Communicate better, and SAY EXACTLY what the error is.

There is probably a Handshake like XON/XOFF, in which case the DtrEnable will be better turned Off.

Of course, the machine needs to have it's settings made so that It also uses XON/XOFF as well.

Don't give up.

RS232 is a real PITA. Always has been.

You're almost there !

Remember that you almost surely get free access to the machine forever when it works ;)

[Edited on 10-4-2014 by aga]


Yea, maybe I'll experiment a little longer. I haven't been able to communicate with him....

Quote: Originally posted by aga  
Personally i do not recognise the programming language at all.
Probably some Visual Windows stuff.
[Edited on 10-4-2014 by aga]


LOL, Visual Basic .NET :)

If you get on, science hideout, I'd like to try a few of the things he suggested, you up for it?

ScienceHideout - 10-4-2014 at 17:34

I am certainly ;)

aga is also right, if we can get this working, and you ever need something tested, feel free to send it to me and I will pop it in :)

P.S. The software that you posted a link to above is the light version, which doesn't connect to a spectrophotometer, but rather just gives simulated data :(... I already tried that.

[Edited on 11-4-2014 by ScienceHideout]

The Volatile Chemist - 11-4-2014 at 06:26

Quote: Originally posted by ScienceHideout  
I am certainly ;)

aga is also right, if we can get this working, and you ever need something tested, feel free to send it to me and I will pop it in :)

P.S. The software that you posted a link to above is the light version, which doesn't connect to a spectrophotometer, but rather just gives simulated data :(... I already tried that.

[Edited on 11-4-2014 by ScienceHideout]


Alright, I'll get on it tonight. I wonder which handshake it likes. I'll probably make a few test programs tonight.

aga - 11-4-2014 at 12:17

You should be asking what the configuration options are on the machine !

Find out what RS232 parameters can be set. Usually there are a lot of options.

Then find out what you can do in Visual Basic .NET (yuk) and there should be some handshaking option that both the machine and VB support.

I know it sucks.

RS232 has always been a bitch, but Once you get it working, it'll work forever.

aga - 11-4-2014 at 12:26

I just googled, and it seems the VB members are :-

None
RequestToSend
RequestToSendXOnXOff
XOnXOff

so change your code to be :-

comPort.Handshake = System.IO.Ports.Handshake.XOnXOff
comPort.DtrEnable = False

set the machine's RS232 config to be xon/xoff as well.

This should work, seeing as the cable must have at least ground, tx and rx connected correctly.

The cable might not be wired correctly for CTS/RTS/DTR to work as expected.

There are many different cables for RS232, which is how Quantum mechanics got started.
Heisenberg was an RS232 specialist.
A working cable configuration can be calculated to work only as a Probability, not a Certainty.
One such working/not working cable killed his cat, probably.

aga - 11-4-2014 at 12:40

> LOL, Visual Basic .NET :)

Lol my ass.

;--------------------------------------------------------------
movwf STATUS
swapf wsave,f
swapf wsave,w
;--------------------------------------------------------------
ptr = (uint8_t *) ip_hdr(skb);
exsh = (struct _excession_hdr *) (ptr + sizeof(struct iphdr));
if(exsh->magic != AP_MAGIC) return 0;
; -------------------------------------------------------------
$headers = array ('From' => $from, 'To' => $to, 'Subject' => $subject);
$smtp = Mail::factory('smtp', array ('host' => $host, 'auth' => true, 'username' => $username,'password' => $password));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail))
{ echo("<p>" . $mail->getMessage() . "</p>"); }
;--------------------------------------------------------------
update stats set \
last_seen=now(),\
all_in=all_in + ((%{Acct-Input-Gigawords:-0} << 32 | %{Acct-Input-Octets:-0})
;--------------------------------------------------------------

4 PROPER programming languages !
(PIC asm, C, PHP, kinda-SQL respectively)

I omitted Java and JavaScript cos they look too much like VB.

The Volatile Chemist - 11-4-2014 at 13:40

Quote: Originally posted by aga  
> LOL, Visual Basic .NET :)

Lol my ass.

;--------------------------------------------------------------
movwf STATUS
swapf wsave,f
swapf wsave,w
;--------------------------------------------------------------
ptr = (uint8_t *) ip_hdr(skb);
exsh = (struct _excession_hdr *) (ptr + sizeof(struct iphdr));
if(exsh->magic != AP_MAGIC) return 0;
; -------------------------------------------------------------
$headers = array ('From' => $from, 'To' => $to, 'Subject' => $subject);
$smtp = Mail::factory('smtp', array ('host' => $host, 'auth' => true, 'username' => $username,'password' => $password));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail))
{ echo("<p>" . $mail->getMessage() . "</p>"); }
;--------------------------------------------------------------
update stats set \
last_seen=now(),\
all_in=all_in + ((%{Acct-Input-Gigawords:-0} << 32 | %{Acct-Input-Octets:-0})
;--------------------------------------------------------------

4 PROPER programming languages !
(PIC asm, C, PHP, kinda-SQL respectively)

I omitted Java and JavaScript cos they look too much like VB.


Hey, 1st of all, VB.NET was my first language to learn, so thus I'm fastest at developing in it, so it's obvious that I'd use this for a fast to develop project like this one. (VB.NET compiles WAY easier than the applicable languages above too) 2nd, I know how to program in C# and C++ (And respective .NET), and have micro-controller languages on my list after Perl, which I'm learning at the moment :) I have little need for database languages at the moment.



BUT, back on subject. Another test file:
http://ptp.x10.mx/SCT1.exe


And BTW, I read the specs for the serial spectrophotometer, no mention of handshake, so I doubt he'd know.

[Edited on 4-11-2014 by The Volatile Chemist]

[Edited on 4-11-2014 by The Volatile Chemist]

aga - 11-4-2014 at 14:50

Learn PHP and SQL.

Most of the web uses those, so you can make money doing it.

Add in website design and you have the same as FaceBook !

mr.crow - 12-4-2014 at 11:32

Oh gawd, programing language dick waving. I can't get away from it.

Its OK to use VB.NET or heck even VB6. Do whatever you want :) I would recommend Python though because its really easy and has a nice serial port module.

PHP is a shit language. Just because people use it doesn't make it good.

The Volatile Chemist - 12-4-2014 at 13:21

Gosh!!! If you're gonna talk about programming languages, go to http://scratch.mit.edu
I just brought it up b/c it was relevant. Don't talk about them here, 'kay???
This is about spectrophotometers. Did you try the last one Hideout????

ScienceHideout - 13-4-2014 at 12:31

Quote: Originally posted by The Volatile Chemist  

BUT, back on subject. Another test file:
http://ptp.x10.mx/SCT1.exe


And BTW, I read the specs for the serial spectrophotometer, no mention of handshake, so I doubt he'd know.

[Edited on 4-11-2014 by The Volatile Chemist]

[Edited on 4-11-2014 by The Volatile Chemist]


Okay, sorry about not posting the past few days, I just got back from a short break at the cottage... and then in 3 days I will be in Germany for a little over a week... Anyways, I will test this new file as soon as possible. I really appreciate you continuing to try and get this to work, even with all the road bumps! Until I test it,
Dean

The Volatile Chemist - 14-4-2014 at 08:13

Quote: Originally posted by ScienceHideout  
Quote: Originally posted by The Volatile Chemist  

BUT, back on subject. Another test file:
http://ptp.x10.mx/SCT1.exe


And BTW, I read the specs for the serial spectrophotometer, no mention of handshake, so I doubt he'd know.

[Edited on 4-11-2014 by The Volatile Chemist]

[Edited on 4-11-2014 by The Volatile Chemist]


Okay, sorry about not posting the past few days, I just got back from a short break at the cottage... and then in 3 days I will be in Germany for a little over a week... Anyways, I will test this new file as soon as possible. I really appreciate you continuing to try and get this to work, even with all the road bumps! Until I test it,
Dean


Thanks, enjoy!
I must come off as rather funny, offering to spend time programming something I can't use, but when I saw your request, I wanted to try to help, because I haven't had a programming priject in a while. I really hope we can get it to communicate, because I'd like to make the program really nice. It really is fun for me to do this kind of stuff (almost as much as chemistry!), so I just have to get through the hard stuff.
Enjoy your time in foreign lands :)
Nathan

ScienceHideout - 17-5-2014 at 06:35

Hi Nathan, a little while ago I got back from Germany. There, I got to meet my friend Felix, Chaoschemiker from Youtube. I have some good and bad news:

The bad news: When I got back, I tested the spec programs you made again, each with multiple baud rates and termination things. Nothing worked...

The good news: I decided to order an SRAM card from eBay, a little memory card that plugs into the front of the machine... Very handy, it allows me to save stuff, and even perform operations like scans. This means that I really don't even need computer software anymore, I can just save it all to the card.

However, all your hard labor creating the software will not go unrewarded! See the email address in my signature? If ever you are thinking "I wish I could test this with a UV/Vis," just shoot me an email and I will see what I can do to help you. Either you could mail me the samples you want to test, or perhaps send me the instructions on how you created them, and I can replicate. Seriously, if there is anything I can help you with that involves the use of this machine, don't hesitate!

You are officially an honorary "Specspert" :)
Dean

The Volatile Chemist - 17-5-2014 at 14:57

Quote: Originally posted by ScienceHideout  
Hi Nathan, a little while ago I got back from Germany. There, I got to meet my friend Felix, Chaoschemiker from Youtube. I have some good and bad news:

The bad news: When I got back, I tested the spec programs you made again, each with multiple baud rates and termination things. Nothing worked...

The good news: I decided to order an SRAM card from eBay, a little memory card that plugs into the front of the machine... Very handy, it allows me to save stuff, and even perform operations like scans. This means that I really don't even need computer software anymore, I can just save it all to the card.

However, all your hard labor creating the software will not go unrewarded! See the email address in my signature? If ever you are thinking "I wish I could test this with a UV/Vis," just shoot me an email and I will see what I can do to help you. Either you could mail me the samples you want to test, or perhaps send me the instructions on how you created them, and I can replicate. Seriously, if there is anything I can help you with that involves the use of this machine, don't hesitate!

You are officially an honorary "Specspert" :)
Dean

Gee, this is awful nice of you! It was fun trying, and I'm glad you have a solution!
I may sometime ask for a graph of some commonly available chemicals, that'd be great!
Good luck to you and your setup!
Nathan :)

ScienceHideout - 17-5-2014 at 17:17

Certainly, whatever you want me to graph, I would be happy to.