50g group photo

Yahoo Groups archive

50g

Archive for 50g.

Index last updated: 2026-03-30 00:59 UTC

Thread

50g programming question

50g programming question

2008-11-09 by gregmraymond

It's probably simple, but I can't seem to find any answers on this...
I'm a surveyor, and I've Made programs to do all the things I want the
50 to do, replacing my 42s completely. The one thing I can't figure out
how to do is take -> 98 45 23 <- and make it show on the stack
-> 98*45'23" <- This being 98 degrees, 45 minuits,
23 seconds. Please help! on the 42s it was a kind of 'Inverted T',
turned 90 degrees to the left, it is alpha alpha button if I remember
right, like -> T " ' " " whatever... anything will help. thanks

Re: 50g programming question

2008-11-09 by Jeremy Hawdon

--- In 50g@yahoogroups.com, "gregmraymond" <gregmraymond@...> wrote:
>
> It's probably simple, but I can't seem to find any answers on this...
> I'm a surveyor, and I've Made programs to do all the things I want
the
> 50 to do, replacing my 42s completely. The one thing I can't figure
out
> how to do is take -> 98 45 23 <- and make it show on the
stack
> -> 98*45'23" <- This being 98 degrees, 45
minuits,
> 23 seconds. Please help! on the 42s it was a kind of 'Inverted T',
> turned 90 degrees to the left, it is alpha alpha button if I remember
> right, like -> T " ' " " whatever... anything will help. thanks
>
You can enter this as 98.4523 then change it to decimal degrees using
HMS(right arrow), and do your calculation. (right arrow)HMS will change
any decimal degrees answer back to degress, minutes seconds.

Re: 50g programming question

2008-11-09 by Tim Wessman

> It's probably simple, but I can't seem to find any answers on this...
> I'm a surveyor, and I've Made programs to do all the things I want the
> 50 to do, replacing my 42s completely. The one thing I can't figure out
> how to do is take -> 98 45 23 <- and make it show on the stack
> -> 98*45'23" <- This being 98 degrees, 45 minuits,
> 23 seconds. Please help! on the 42s it was a kind of 'Inverted T',
> turned 90 degrees to the left, it is alpha alpha button if I remember
> right, like -> T " ' " " whatever... anything will help. thanks
>

To display, you have to split the digits up and convert them into a
string. You can no longer use the number for calculations, so you'll
only want to use this really for making display screens. I have
included PUSH and POP which save the flags and directory, and then
restore them. If you don't mind the stack being set to FIX 4 then you
can remove them.

<< PUSH 4 RND 0 HMS+ 4 FIX 34 CHR + 46 CHR 176 CHR SREPL DROP SREV DUP
1 3 SUB 39 CHR + SWAP 4 9 SUB + SREV POP >>

That will give you a nicely formatted string.

Also, should you wish to get a complete professional COGO system that
you can integrate with your own programs quite easily (there are
commands for database access and some low level stuff), check out
http://pssllc.com

TW

Re: 50g programming question

2008-11-09 by gregmraymond

That helped a great deal.. My machine doesn't know what SREV is, so
I've got to tweek the programming. I now know how to get there, though,
thanks Tim

Re: 50g programming question

2008-11-10 by Tim Wessman

> That helped a great deal.. My machine doesn't know what SREV is, so
> I've got to tweek the programming. I now know how to get there, though,

Sorry. SREV is a command in the development library that is built
into the calculator, but not normally attached. It stands for string
reverse. Simply type 256 ATTACH ENTER and then load the program for
editing. When you press ENTER, it is compiled. At that point, it
will convert the SREV commmand into a library pointer and you no
longer have to have 256 attached in the future UNLESS you edit that
little program again. Make sense?

TW

Re: 50g programming question

2008-11-11 by gregmraymond

Once again, Thanks man! Worked like a charm. I DID finish it
yesterday though by saying <<PUSH 4 RND 4 FIX DUP IP 'DECP' STO 34 CHR
+ 46 CHR 176 CHR SREPL DROP DUP IF 'DECP<10' THEN 1 4 SUB 39 CHR + 5 9
SUB + END IF 'DECP(>=)10' 'DECP<100' AND... Well you probably get the
drift. Im erasing mine in about 5 minuites BTW...
I still can't understand how guys learn this stuff! I thought I've
come a long way, yea right.. Is there any books on rpl programming or
is it a lot like another language more widely known? I would like to
learn more (obviously I'm here) Thanks again!

Re: 50g programming question

2008-11-11 by Tim Wessman

> Once again, Thanks man! Worked like a charm. I DID finish it
> yesterday though by saying <<PUSH 4 RND 4 FIX DUP IP 'DECP' STO 34 CHR
> + 46 CHR 176 CHR SREPL DROP DUP IF 'DECP<10' THEN 1 4 SUB 39 CHR + 5 9
> SUB + END IF 'DECP(>=)10' 'DECP<100' AND... Well you probably get the
> drift. Im erasing mine in about 5 minuites BTW...
> I still can't understand how guys learn this stuff! I thought I've
> come a long way, yea right.. Is there any books on rpl programming or
> is it a lot like another language more widely known? I would like to
> learn more (obviously I'm here) Thanks again!

I learned starting with this: http://www.hpcalc.org/details.php?id=1771

From there, it was just experience. As to that program, I copied it
from comp.sys.hp48 which is the real resource for HP calculator
related stuff (not collector models).

I searched for "DMS display" so I wouldn't have to reinvent the wheel,
and copied a routine I found there. In my surveying software, the DMS
display is handled by a rather quick assembly routine, but that is
quite beyond this scope.

TW