[PCR-1000] PCR-1000 Web Control?
Martin Francis
[email protected]
Fri, 13 Feb 2004 10:01:58 -0500
Hi again,
JAVORADIO COMPATIBLE
I've signed up for a Javoradio account at www.javoradio.com and tried
out the MW Beverage installation in Norway, and this got me thinking I'd
like to participate. At present Javoradio systems require a Linux box
as a server - perhaps the PIC based server proposed might be adapted to
work with the Javoradio network directly? It would be great to be able
to put a shared system on line with the minimal cost of a PIC based
server.
DYNAMIC DNS SERVER
One additional requirement for a streaming web controller would be to
have it able to communicate with a dynamic DNS server such as the
service provided at www.dyndns.org so that even on a dynamically
allocated IP address one could type the same URL in each time and have
the receiver respond without error. I have no idea how to implement
this, but it would be more or less essential if I were to be able to
implement this system in a practical way on a permanent basis.
RELAY BOARD TO PROVIDE ANTENNA DISCONNECTION FOR RADIO
Having had one laptop blown up by lightning last summer, it would be
great if one could have a system to operate an on-board relay for
antenna disconnection in the event that significant danger of a
thunderstorm strike arose - I'd hate to be listening to an approaching
storm away from my QTH and having no way to disconnect the radio. A
pair of 1A contacts would be quite sufficient to actuate whatever remote
coax based relays were required.
Ideally, the command to actuate this would be slaved directly to the
software 'Power On' for the radio itself. I guess I could wire
something into the set itself to provide this functionality - perhaps
actuating a relay via the power button LED. I guess I really should do
this before the summer storms approach.
Anyway, I'd be very happy to pay for such a system, and to participate
in a limited way in software development for it.
Best wishes,
Martin Francis
http://www.classaxe.com/dx
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Jay A. Kreibich
Sent: February 9, 2004 2:12 PM
To: [email protected]
Subject: Re: [PCR-1000] PCR-1000 Web Control?
On Mon, Feb 09, 2004 at 05:39:22PM -0000, Max Topley scratched on the
wall:
> ----- Original Message -----
> From: "Jay A. Kreibich" <[email protected]>
> To: <[email protected]>
> Sent: Monday, February 09, 2004 4:14 PM
> Subject: Re: [PCR-1000] PCR-1000 Web Control?
>
>
> > I've been looking at doing something similar with a TINI module:
>
> Have you seen the prices? OUCH!
Yeah... about $65 USD for a module that includes everything plus
$35 USD for a dev board *with* a regulated power supply (at least
inside the US). I know that's still over twice of a PIC, but you
also don't have to deal bits and parts. Two parts, ready to be put
in an enclosure for most projects. The time that saves me is well
worth the money.
It is also a bit more robust with on-board Ethernet, CAN, I2C,
one-wire, and 3 serial interfaces built in, along with an 8 bit
databus that can be exposed if you know what you are doing. Also
supports IPv6, which is useful for large internal networks you want to
self-configure. The CAN and I2C interfaces (and libraries) are
also very useful for integrating things like that audio encoder chip.
I realize there are PICs that support these kinds of interfaces, but
I don't recall one that supports all of them.
So in some sense, you get what you pay for. The question is then
what you need. TINIs are overkill for most of the PIC projects I've
seen, no question about it. If all I wanted was a "networked serial
port" to control the PCR-1000, I'd say that about this project too.
But not if you want to include the audio chip. I think it becomes an
option worth looking at for something like that.
> > This particular chip does bi-directional MP3 [d/e]ncoding in
> > hardware,
> Nice chip. What's the guide price?
Been awhile since I seriously looked at this, but I think it is
around $35 USD, q 1.
> > The TINI is a bit more expensive than the PIC, but comes with a
full
> > TCP/IP suite,
>
> But Microchip's TCP/IP stack is free, as is their IDE with assembler +
> simulator. Their development kit is a LOT cheaper, as well.
Microchip's is cheaper than free? Any machine with any Java IDE will
work as a base development platform. DallasSemi's conversion tools
for
translating the generic .class files into the custom TINI class files
are free also. You have to agree to a license that puts some limits
on
commercial distribution (mostly having to do with compatibility, not
cost-- all these conditions are met if you use their pre-packaged
modules), but the tools and runtime are both free. There are some
assembly tools out there too, and the APIs provide ways to call
"native" functions for those one or two critical loops.
The only thing that costs is the third party C compiler, if you
choose to go down that route. And, yes, it is very expensive.
> It's largely a
> matter of taste, though. I've used PICs a lot, and I have the
equipment
> available, such as an ICE and a "C" compiler.
Yes... if you have an investment in PICs, they are less expensive and
very flexible for fairly simple projects. My experience is that the
"startup" cost for PICs is much higher, however. In my case that
counts.
And actually, I'll even have to take the "simple projetcs" part back.
Looking at the latest samples of PICs, I see they have come a long
way since I last looked at them. Some of these are, indeed, very nice
packages.
> > and allows you to do all your development in Java (for
> > what that's worth).
>
> YUK! Not for bare-metal coding, thanks.
Well, like I said, "for what that's worth." For some people this is
a plus, for others it is not.
That said, Java's actual code is more bare-metal than most assembly
hackers are willing to admit. After all, every Java compiler out
there compiles Java code into a virtual ISA. There are some chips
out there that run the ISA directly, although the TINI is not one
of those-- there is a set of tools to convert the Java .class binary
files into native instructions for the TINI. End result is that most
of your code is compiled down to the microcontroller's native ISA--
not a virtual machine or emulation. This is true about nearly all
Java
environments using JIT compilers, but in the cast of the TINI it is a
pre-process.
Now it is still true that the code is compiled, and there isn't quite
the control you have with assembly, but that question is more or less
Java independent. Personally I think that attitude is really
stuck in the 80s. For most of the world "whole project" benefits of
a high(er) level language far outweigh the performance advantages for
anything more complex than a 100 lines of code, or so. If you do
extensive profiles and find a critical loop, re-code that (and only
that).
Also don't forget that we aren't exactly counting individual cycles
here. It isn't difficult to tweak the TINI microprocessor to run at
75 MHz.
> Java's a fine language on PCs with oodles of RAM, but any heap-based
> language really blows goats in an embedded system without
> memory management.
I would agree that is one of Java's biggest weak points. Memory
management is a bit tricky. Again, however, much of this is from the
hype surrounding the language, and not the actual environment. If
you will recall, way back when Java was originally designed it was as
a
embedded language that allowed extremely fast prototyping. The whole
idea of a universal VMs for desktop systems came later.
If you strip the language down and throw out all the GUI stuff (which
consumes huge amounts of resources) and get down to the core language,
it isn't too bad. As much as I tend to dislike GC languages, I also
have to admit that a memory leak in a embedded device is much more
critical than one in a computer application. People have a
remarkable tolerance for dealing with a computer that crashes. They
do not deal well with an alarm clock or remote control that crashes.
And no, 1MB of run-time RAM is not a ton of memory next to my laptop,
and you can't be silly about it, but it is an amazing amount next to
the PICs we were using when I was a student (again, I realize that
some modern PICs pass this up). Again, it depends on your needs.
Most people hit the 1MB file-system flash limit long before they hit
the run-time RAM limit.
There are other advantages Java. If, for example, you are writing
something that doesn't involved physically adding hardware to the dev
board (e.g. everything is hooked up via the standard ports such as
the serial ports or other I/O ports) you can develop one set of code
for both the PC and the TINI. The exact same serial port and
networking code that runs on the TINI will run on the PC. This is
especially handy for writing protocol encoding/decoding modules for
things such as XML-RPC where you have a PC trying to manage one or
more TINIs on the network. They can both run the exact same code
base which makes development of the protocol handlers much easier and
faster.
Like I said before, most of your choice boils down to what you need.
In my case, I'm much more interested in software than hardware, so
I'll happily pay more if it reduces the time I need to fiddle with
physically putting things together. For me, the TINI does this.
This isn't true for everyone.
-j
--
Jay A. Kreibich | Integration & Software Eng.
[email protected] | Campus IT & Edu. Svcs.
<http://www.uiuc.edu/~jak> | University of Illinois at U/C
______________________________________________________________
PCR-1000 mailing list
Home: http://mailman.qth.net/mailman/listinfo/pcr-1000
Help: http://mailman.qth.net/faq.htm
Post: mailto:[email protected]