Sign in

username:

password:



Not a member?

Search oopic



Search tips

Subscribe to oopic



Ads

Discussion Groups

Discussion Groups | | oSerialL - Really confused

oSerialL - Really confused - "design.wonk" - Apr 5 14:06:19 2008

I am trying to use the oSerialL to communicate with a another device,
but don't understand the results that I am getting. In doing dome
debugging, it seems that the value of the oSerialL object is all over
the place, even if it is not attached to anything. If I do something
like:

oSerialL MP3 = New oSerialL;
// Init Values

MP3.IOLineS = 31;
MP3.Baud = cv9600;

...

when I run this and open a dialog box, the value of the oSerialL
object constantly changes, even if nothing is attached to line 31.
What am I missing? If no data is being transmitted or received,
shouldn't the value of the object remain 0?

thanks

------------------------------------



(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )


Re: Re: oSerialL - Really confused - Andrew Porrett - Apr 6 16:08:46 2008

You're seeing a positive voltage while the player is sending stop
bits (zeroes)?

That's not a TTL signal...

At 10:56 PM 4/5/2008, design.wonk wrote:

> I am sending TTL level signals - which is what I assumed were
>required as there is just a single TX and a single RX pin on the
>player. When powered up, the TX pin shows +3V, the RX pin shows +0V.
> Although the DOCs for the player refer to it as an RS232 style port:
>
>Serial Modes
>The following two modes use an rs232 style serial port. The port is
>set up for 9600 baud, 8N1
>format. You may or may not need inverters and drivers depending on
>your system configuration. A Basic Stamp, a PIC an AVR, or almost any
>other micro can communicate
>over this kind of link.
>--- In o...@yahoogroups.com, Andrew Porrett wrote:
> >
> > Does the player expect TTL level signals or true RS232 levels? What
> > are you sending?
> >
> > At 04:43 PM 4/5/2008, design.wonk wrote:
> >
> > >I only have to send. I am trying to control a Daisy MP3 player (open
> > >source kit from Make Magazine) with the ooPIC using the Daisy's Simple
> > >Serial Mode

------------------------------------



(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )

Re: oSerialL - Really confused - "design.wonk" - Apr 6 20:05:56 2008

Richard,

Here is the code:

// Simple test for serial mode

oSerialL MP3 = New oSerialL;

// Init Values

MP3.IOLineS = 31;
MP3.Baud = cv9600;

Void main(Void){

ooPIC.Delay = 100;

MP3.Value = 1;

ooPIC.Delay = 5000;

MP3.Value = 181;

}
According to the MP3 player docs, in the serial mode, it should be
waiting for single byte commands. Byte values of 1 to 180 select
track 1 to 180. If the byte value is 181, it should stop playing. I
am providing power to the MP3 player directly from the ooPIC-R (using
the +5 and G pins next to pin 31.

thanks

--- In o...@yahoogroups.com, "rtstofer" wrote:
> The Tx pin (Serial Header Pin 2) should idle high. You can see this
> in Figure 16-4 of the datasheet. The Rx pin would be pulled up by
> the Tx output of whatever is driving it. This Rx pin is 5V tolerant
> so the OOPic output should be acceptable.
>
> The OOPic Tx output would connect to the MP3 player Rx input. There
> would also need to be a common ground.
>
> Maybe you should post your code.
>
> In any event, the signals are at logic levels, NOT RS232 levels. If
> you wanted to use a PC to test your board, you would need a level
> shifter. I recommend the http://www.pololu.com/catalog/product/126?
> tab=pictures because it can connect to 3.3V power and interface
> perfectly with 3.3V or 5.0V systems. I would connect it to the 3.3V
> output from the MP3 board and ground, of course. The Tx output
> from the adapter would connect to the Rx input on the MP3 board
> (serial pin 1).
>
> Richard
>
> --- In o...@yahoogroups.com, Andrew Porrett wrote:
> >
> > You're seeing a positive voltage while the player is sending stop
> > bits (zeroes)?
> >
> > That's not a TTL signal...
> >
> > At 10:56 PM 4/5/2008, design.wonk wrote:
> >
> > > I am sending TTL level signals - which is what I assumed were
> > >required as there is just a single TX and a single RX pin on the
> > >player. When powered up, the TX pin shows +3V, the RX pin shows
> +0V.
> > > Although the DOCs for the player refer to it as an RS232 style
> port:
> > >
> > >Serial Modes
> > >The following two modes use an rs232 style serial port. The port is
> > >set up for 9600 baud, 8N1
> > >format. You may or may not need inverters and drivers depending on
> > >your system configuration. A Basic Stamp, a PIC an AVR, or almost
> any
> > >other micro can communicate
> > >over this kind of link.
> > >
> > >
> > >--- In o...@yahoogroups.com, Andrew Porrett wrote:
> > > >
> > > > Does the player expect TTL level signals or true RS232 levels?
> What
> > > > are you sending?
> > > >
> > > > At 04:43 PM 4/5/2008, design.wonk wrote:
> > > >
> > > > >I only have to send. I am trying to control a Daisy MP3
> player (open
> > > > >source kit from Make Magazine) with the ooPIC using the
> Daisy's Simple
> > > > >Serial Mode
>
------------------------------------



(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )

Re: oSerialL - Really confused - "design.wonk" - Apr 7 4:31:00 2008


I only have to send. I am trying to control a Daisy MP3 player (open
source kit from Make Magazine) with the ooPIC using the Daisy's Simple
Serial Mode (see below). According to the docs for both devices, the
only thing I should have to do select track 1 would be something like:

oSerialL MP3 = New oSerialL;

// Init Values

MP3.IOLineS = 31;
MP3.Baud = cv9600;

Void main(Void){

MP3.Value = 1;

}
I an not sure if I am missing something.
Here is what the Daisy is looking for....

SIMPLE SERIAL MODE
Jumpers: X only

In this mode the player accepts one byte at a time over the serial
port, and depending on the
value of the byte will perform certain operations. The bytes are not
ascii, they are just pure
bytes. So sending an ascii "0" is actually sending a 0x30 (decimal
48). Be careful in your code!

If the byte is 0 to 180, it will play track 0 to 180.
If the byte is 192 to 255, it will set the volume.
Value 184 toggles pause on and off.
Value 183 turns looping mode on.
Value 182 turns looping mode off.
Value 181 is a kind of reset. It kills the present song and sets it to
"not pausing" mode.
--- In o...@yahoogroups.com, "dan michaels" wrote:
>
> --- In o...@yahoogroups.com, "design.wonk" wrote:
> >
> I believe oSerialL is the same as oSerialX on the previous versions
> of the oopic firmware, and it has some serious problems with use
> on "receive". Transmit works ok, but forget about using receive,
> unless hardware handshaking is employed.
>
> Dennis, this didn't get fixed on the new firmware, did it?
> > I am trying to use the oSerialL to communicate with a another
> device, but don't understand the results that I am getting. In doing
> dome debugging, it seems that the value of the oSerialL object is all
> over the place, even if it is not attached to anything. If I do
> something like:
> >
> > oSerialL MP3 = New oSerialL;
> >
> >
> > // Init Values
> >
> > MP3.IOLineS = 31;
> > MP3.Baud = cv9600;
> >
> > ...
> >
> > when I run this and open a dialog box, the value of the oSerialL
> > object constantly changes, even if nothing is attached to line 31.
> > What am I missing? If no data is being transmitted or received,
> > shouldn't the value of the object remain 0?
> >
> > thanks
>
------------------------------------



(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )

Re: oSerialL - Really confused - rtstofer - Apr 7 16:52:13 2008

--- In o...@yahoogroups.com, "design.wonk" wrote:
>
> DLC,
>
> So it seems that my only other option would be to use the oSerialH
> object. It looks as if this would send the output through the db9
> programming port on the ooPIC-R.
>
> -GeorgeOrr

Except for the part where the DB-9 signals are inverted to 'simulate'
RS232 levels.

If you do this, you will definitely need the level shifter. And a
null modem cable. Pin 2 on one end connected to pin 3 on the other.
Same for pin 3 connected to pin 2. Pin 5 common on both ends.

Richard

------------------------------------



(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )

Re: oSerialL - Really confused - dan michaels - Apr 8 3:09:30 2008

--- In o...@yahoogroups.com, "design.wonk" wrote:
>
Another thing to do is to first get the oopic object communicating
with a PC rather than your MP3 device. Then when you connect it to
the MP3, you'll at least know something works.

> ->
> > I believe you need the Init values stuff inside main(). I tried
the following code and watched the outputs (bit-banged output and
real usart output) and they both idle high (expected as that matches
what the PIC does with Tx) and they are identical in timing:
> >
> > Dim s As New oSerialL
> > Dim x As New oSerialPort
> > Sub main()
> > s.IOLineS = 7
> > s.Baud = cv9600
> > Do
> > s = 48
> > x = 48
> > ooPIC.Delay=10
> > Loop
> > End Sub
> >
> > Richard
> >
> I tried moving the init inside the main, but it did not help. I
think
> that I will order the level shifter and see what is going on with
the
> MP3 player.
>

------------------------------------



(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )

Re: Re: oSerialL - Really confused - ooPIC Tech Support - Apr 8 20:14:18 2008

Sorry, I was looking at one things and thinking another. Yes, you are
setting it to IOline 31. Make sure that you are using the pin for
IOline 31 and not pin 31. Also, you are correct, you need to use a
RS232 converter to get RS232 from an oSerialL line. Pololu, Sparkfun,
Acroname and the Mark III store all sell simple ones for about $10. My
favorite one is the Acroname "Brainstem" one that you can get for $10 at
www.junun.org (Mark III Store).

DLC

design.wonk wrote:
> In the example, I thought that I was setting the IO line property of
> the oSerailL object to pin 31. Don't I need some type of converter to
> connect the TTL - level IO to a real RS232 port?
>
> -GeorgeOrr
> --- In o...@yahoogroups.com, ooPIC Tech Support wrote:
>
>> Have you tried connecting up directly to your PC and using a terminal
>> emulator like Hyperterm or Teraterm? I use the object all the time and
>> it works fine. Also - You are not sending the ASCII values you are
>> sending the binary value of "31" with what you are doing there.
>>
>> DLC
>>
>> design.wonk wrote:
>>
>>> I only have to send. I am trying to control a Daisy MP3 player (open
>>> source kit from Make Magazine) with the ooPIC using the Daisy's Simple
>>> Serial Mode (see below). According to the docs for both devices, the
>>> only thing I should have to do select track 1 would be something like:
>>>
>>> oSerialL MP3 = New oSerialL;
>>>
>>> // Init Values
>>>
>>> MP3.IOLineS = 31;
>>> MP3.Baud = cv9600;
>>>
>>> Void main(Void){
>>>
>>> MP3.Value = 1;
>>>
>>> }
>>>
>>>
>>> I an not sure if I am missing something.
>>>
>>>
>>> Here is what the Daisy is looking for....
>>>
>>> SIMPLE SERIAL MODE
>>> Jumpers: X only
>>>
>>> In this mode the player accepts one byte at a time over the serial
>>> port, and depending on the
>>> value of the byte will perform certain operations. The bytes are not
>>> ascii, they are just pure
>>> bytes. So sending an ascii "0" is actually sending a 0x30 (decimal
>>> 48). Be careful in your code!
>>>
>>> If the byte is 0 to 180, it will play track 0 to 180.
>>> If the byte is 192 to 255, it will set the volume.
>>> Value 184 toggles pause on and off.
>>> Value 183 turns looping mode on.
>>> Value 182 turns looping mode off.
>>> Value 181 is a kind of reset. It kills the present song and sets it to
>>> "not pausing" mode.
>>>
>>>
>>> --- In o...@yahoogroups.com, "dan michaels" wrote:
>>>
>>>
>>>> --- In o...@yahoogroups.com, "design.wonk" wrote:
>>>>
>>>> I believe oSerialL is the same as oSerialX on the previous versions
>>>> of the oopic firmware, and it has some serious problems with use
>>>> on "receive". Transmit works ok, but forget about using receive,
>>>> unless hardware handshaking is employed.
>>>>
>>>> Dennis, this didn't get fixed on the new firmware, did it?
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>> I am trying to use the oSerialL to communicate with a another
>>>>>
>>>>>
>>>> device, but don't understand the results that I am getting. In
>>>>
> doing
>
>>>> dome debugging, it seems that the value of the oSerialL object is
>>>>
> all
>
>>>> over the place, even if it is not attached to anything. If I do
>>>> something like:
>>>>
>>>>
>>>>> oSerialL MP3 = New oSerialL;
>>>>>
>>>>>
>>>>> // Init Values
>>>>>
>>>>> MP3.IOLineS = 31;
>>>>> MP3.Baud = cv9600;
>>>>>
>>>>> ...
>>>>>
>>>>> when I run this and open a dialog box, the value of the oSerialL
>>>>> object constantly changes, even if nothing is attached to line 31.
>>>>> What am I missing? If no data is being transmitted or received,
>>>>> shouldn't the value of the object remain 0?
>>>>>
>>>>> thanks
>>>>>
>>>>>
>>>>>
>>>
>>> ------------------------------------
>>>
>>>



(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )

Re: oSerialL - Really confused - "design.wonk" - Apr 8 20:35:30 2008

DLC,

So it seems that my only other option would be to use the oSerialH
object. It looks as if this would send the output through the db9
programming port on the ooPIC-R.

-GeorgeOrr

--- In o...@yahoogroups.com, wrote:
>
> George,
>
> The PIC MSSP is unable to do async. serial, so that isn`t an option.
>
> DLC
>
> ooPIC Tech Support
>
> -----Original Message-----
>
> From: "design.wonk"
> Subj: [oopic] Re: oSerialL - Really confused
> Date: Mon Apr 7, 2008 9:20 am
> Size: 6K
> To: o...@yahoogroups.com
>
> DLC,
>
> No problem. I just ordered a converter from Pololu. I am not sure
> if the problems are with the ooPIC-R or the Daisy MP3 player, but
> they don't seem to want to talk to each other. Do you know if the I2C
> network connector can be used for async serial IO to another device?
>
> -GeorgeOrr
>
> --- In o...@yahoogroups.com, ooPIC Tech Support wrote:
> >
> > Sorry, I was looking at one things and thinking another. Yes, you
are
> > setting it to IOline 31. Make sure that you are using the pin for
> > IOline 31 and not pin 31. Also, you are correct, you need to use a
> > RS232 converter to get RS232 from an oSerialL line. Pololu,
Sparkfun,
> > Acroname and the Mark III store all sell simple ones for about
$10. My
> > favorite one is the Acroname "Brainstem" one that you can get for
> $10 at
> > www.junun.org (Mark III Store).
> >
> > DLC
> >
> > design.wonk wrote:
> > > In the example, I thought that I was setting the IO line property of
> > > the oSerailL object to pin 31. Don't I need some type of
converter to
> > > connect the TTL - level IO to a real RS232 port?
> > >
> > > -GeorgeOrr
> > >
> > >
> > > --- In o...@yahoogroups.com, ooPIC Tech Support
> wrote:
> > >
> > >> Have you tried connecting up directly to your PC and using a
> terminal
> > >> emulator like Hyperterm or Teraterm? I use the object all the
> time and
> > >> it works fine. Also - You are not sending the ASCII values you
are
> > >> sending the binary value of "31" with what you are doing there.
> > >>
> > >> DLC
> > >>
> > >> design.wonk wrote:
> > >>
> > >>> I only have to send. I am trying to control a Daisy MP3 player
> (open
> > >>> source kit from Make Magazine) with the ooPIC using the Daisy's
> Simple
> > >>> Serial Mode (see below). According to the docs for both
devices, the
> > >>> only thing I should have to do select track 1 would be something
> like:
> > >>>
> > >>> oSerialL MP3 = New oSerialL;
> > >>>
> > >>> // Init Values
> > >>>
> > >>> MP3.IOLineS = 31;
> > >>> MP3.Baud = cv9600;
> > >>>
> > >>> Void main(Void){
> > >>>
> > >>> MP3.Value = 1;
> > >>>
> > >>> }
> > >>>
> > >>>
> > >>> I an not sure if I am missing something.
> > >>>
> > >>>
> > >>> Here is what the Daisy is looking for....
> > >>>
> > >>> SIMPLE SERIAL MODE
> > >>> Jumpers: X only
> > >>>
> > >>> In this mode the player accepts one byte at a time over the serial
> > >>> port, and depending on the
> > >>> value of the byte will perform certain operations. The bytes
are not
> > >>> ascii, they are just pure
> > >>> bytes. So sending an ascii "0" is actually sending a 0x30 (decimal
> > >>> 48). Be careful in your code!
> > >>>
> > >>> If the byte is 0 to 180, it will play track 0 to 180.
> > >>> If the byte is 192 to 255, it will set the volume.
> > >>> Value 184 toggles pause on and off.
> > >>> Value 183 turns looping mode on.
> > >>> Value 182 turns looping mode off.
> > >>> Value 181 is a kind of reset. It kills the present song and sets
> it to
> > >>> "not pausing" mode.
> > >>>
> > >>>
> > >>> --- In o...@yahoogroups.com, "dan michaels" wrote:
> > >>>
> > >>>
> > >>>> --- In o...@yahoogroups.com, "design.wonk" wrote:
> > >>>>
> > >>>> I believe oSerialL is the same as oSerialX on the previous
> versions
> > >>>> of the oopic firmware, and it has some serious problems with use
> > >>>> on "receive". Transmit works ok, but forget about using receive,
> > >>>> unless hardware handshaking is employed.
> > >>>>
> > >>>> Dennis, this didn't get fixed on the new firmware, did it?
> > >>>>
> > >>>>
> > >>>>
> > >>>>
> > >>>>
> > >>>>
> > >>>>> I am trying to use the oSerialL to communicate with a another
> > >>>>>
> > >>>>>
> > >>>> device, but don't understand the results that I am getting. In
> > >>>>
> > > doing
> > >
> > >>>> dome debugging, it seems that the value of the oSerialL object is
> > >>>>
> > > all
> > >
> > >>>> over the place, even if it is not attached to anything. If I do
> > >>>> something like:
> > >>>>
> > >>>>
> > >>>>> oSerialL MP3 = New oSerialL;
> > >>>>>
> > >>>>>
> > >>>>> // Init Values
> > >>>>>
> > >>>>> MP3.IOLineS = 31;
> > >>>>> MP3.Baud = cv9600;
> > >>>>>
> > >>>>> ...
> > >>>>>
> > >>>>> when I run this and open a dialog box, the value of the oSerialL
> > >>>>> object constantly changes, even if nothing is attached to
line 31.
> > >>>>> What am I missing? If no data is being transmitted or received,
> > >>>>> shouldn't the value of the object remain 0?
> > >>>>>
> > >>>>> thanks
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>
> > >>> ------------------------------------
> > >>>
> > >>>



(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )

Re: Re: oSerialL - Really confused - denn...@oopic.com - Apr 8 20:52:17 2008

George,

The PIC MSSP is unable to do async. serial, so that isn`t an option.

DLC

ooPIC Tech Support

-----Original Message-----

From: "design.wonk"
Subj: [oopic] Re: oSerialL - Really confused
Date: Mon Apr 7, 2008 9:20 am
Size: 6K
To: o...@yahoogroups.com

DLC,

No problem. I just ordered a converter from Pololu. I am not sure
if the problems are with the ooPIC-R or the Daisy MP3 player, but
they don't seem to want to talk to each other. Do you know if the I2C
network connector can be used for async serial IO to another device?

-GeorgeOrr

--- In o...@yahoogroups.com, ooPIC Tech Support wrote:
>
> Sorry, I was looking at one things and thinking another. Yes, you are
> setting it to IOline 31. Make sure that you are using the pin for
> IOline 31 and not pin 31. Also, you are correct, you need to use a
> RS232 converter to get RS232 from an oSerialL line. Pololu, Sparkfun,
> Acroname and the Mark III store all sell simple ones for about $10. My
> favorite one is the Acroname "Brainstem" one that you can get for
$10 at
> www.junun.org (Mark III Store).
>
> DLC
>
> design.wonk wrote:
> > In the example, I thought that I was setting the IO line property of
> > the oSerailL object to pin 31. Don't I need some type of converter to
> > connect the TTL - level IO to a real RS232 port?
> >
> > -GeorgeOrr
> >
> >
> > --- In o...@yahoogroups.com, ooPIC Tech Support
wrote:
> >
> >> Have you tried connecting up directly to your PC and using a
terminal
> >> emulator like Hyperterm or Teraterm? I use the object all the
time and
> >> it works fine. Also - You are not sending the ASCII values you are
> >> sending the binary value of "31" with what you are doing there.
> >>
> >> DLC
> >>
> >> design.wonk wrote:
> >>
> >>> I only have to send. I am trying to control a Daisy MP3 player
(open
> >>> source kit from Make Magazine) with the ooPIC using the Daisy's
Simple
> >>> Serial Mode (see below). According to the docs for both devices, the
> >>> only thing I should have to do select track 1 would be something
like:
> >>>
> >>> oSerialL MP3 = New oSerialL;
> >>>
> >>> // Init Values
> >>>
> >>> MP3.IOLineS = 31;
> >>> MP3.Baud = cv9600;
> >>>
> >>> Void main(Void){
> >>>
> >>> MP3.Value = 1;
> >>>
> >>> }
> >>>
> >>>
> >>> I an not sure if I am missing something.
> >>>
> >>>
> >>> Here is what the Daisy is looking for....
> >>>
> >>> SIMPLE SERIAL MODE
> >>> Jumpers: X only
> >>>
> >>> In this mode the player accepts one byte at a time over the serial
> >>> port, and depending on the
> >>> value of the byte will perform certain operations. The bytes are not
> >>> ascii, they are just pure
> >>> bytes. So sending an ascii "0" is actually sending a 0x30 (decimal
> >>> 48). Be careful in your code!
> >>>
> >>> If the byte is 0 to 180, it will play track 0 to 180.
> >>> If the byte is 192 to 255, it will set the volume.
> >>> Value 184 toggles pause on and off.
> >>> Value 183 turns looping mode on.
> >>> Value 182 turns looping mode off.
> >>> Value 181 is a kind of reset. It kills the present song and sets
it to
> >>> "not pausing" mode.
> >>>
> >>>
> >>> --- In o...@yahoogroups.com, "dan michaels" wrote:
> >>>
> >>>
> >>>> --- In o...@yahoogroups.com, "design.wonk" wrote:
> >>>>
> >>>> I believe oSerialL is the same as oSerialX on the previous
versions
> >>>> of the oopic firmware, and it has some serious problems with use
> >>>> on "receive". Transmit works ok, but forget about using receive,
> >>>> unless hardware handshaking is employed.
> >>>>
> >>>> Dennis, this didn't get fixed on the new firmware, did it?
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>> I am trying to use the oSerialL to communicate with a another
> >>>>>
> >>>>>
> >>>> device, but don't understand the results that I am getting. In
> >>>>
> > doing
> >
> >>>> dome debugging, it seems that the value of the oSerialL object is
> >>>>
> > all
> >
> >>>> over the place, even if it is not attached to anything. If I do
> >>>> something like:
> >>>>
> >>>>
> >>>>> oSerialL MP3 = New oSerialL;
> >>>>>
> >>>>>
> >>>>> // Init Values
> >>>>>
> >>>>> MP3.IOLineS = 31;
> >>>>> MP3.Baud = cv9600;
> >>>>>
> >>>>> ...
> >>>>>
> >>>>> when I run this and open a dialog box, the value of the oSerialL
> >>>>> object constantly changes, even if nothing is attached to line 31.
> >>>>> What am I missing? If no data is being transmitted or received,
> >>>>> shouldn't the value of the object remain 0?
> >>>>>
> >>>>> thanks
> >>>>>
> >>>>>
> >>>>>
> >>>
> >>> ------------------------------------
> >>>
> >>>



(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )

Re: Re: oSerialL - Really confused - ooPIC Tech Support - Apr 8 21:03:33 2008

I believe that you are correct. I think that you might find some I2C
based serial port extenders, but the price may be more than you might
want to pay for a simple solution. oSerialL can do what you need it to
do for this application as long as you are writing out and not reading
back data.

DLC

design.wonk wrote:
> DLC,
>
> So it seems that my only other option would be to use the oSerialH
> object. It looks as if this would send the output through the db9
> programming port on the ooPIC-R.
>
> -GeorgeOrr
>
> --- In o...@yahoogroups.com, wrote:
>
>> George,
>>
>> The PIC MSSP is unable to do async. serial, so that isn`t an option.
>>
>> DLC
>>
>> ooPIC Tech Support
>>
>> -----Original Message-----
>>
>> From: "design.wonk"
>> Subj: [oopic] Re: oSerialL - Really confused
>> Date: Mon Apr 7, 2008 9:20 am
>> Size: 6K
>> To: o...@yahoogroups.com
>>
>> DLC,
>>
>> No problem. I just ordered a converter from Pololu. I am not sure
>> if the problems are with the ooPIC-R or the Daisy MP3 player, but
>> they don't seem to want to talk to each other. Do you know if the I2C
>> network connector can be used for async serial IO to another device?
>>
>> -GeorgeOrr
>>
>> --- In o...@yahoogroups.com, ooPIC Tech Support wrote:
>>
>>> Sorry, I was looking at one things and thinking another. Yes, you
>>>
> are
>
>>> setting it to IOline 31. Make sure that you are using the pin for
>>> IOline 31 and not pin 31. Also, you are correct, you need to use a
>>> RS232 converter to get RS232 from an oSerialL line. Pololu,
>>>
> Sparkfun,
>
>>> Acroname and the Mark III store all sell simple ones for about
>>>
> $10. My
>
>>> favorite one is the Acroname "Brainstem" one that you can get for
>>>
>> $10 at
>>
>>> www.junun.org (Mark III Store).
>>>
>>> DLC
>>>
>>> design.wonk wrote:
>>>
>>>> In the example, I thought that I was setting the IO line property of
>>>> the oSerailL object to pin 31. Don't I need some type of
>>>>
> converter to
>
>>>> connect the TTL - level IO to a real RS232 port?
>>>>
>>>> -GeorgeOrr
>>>>
>>>>
>>>> --- In o...@yahoogroups.com, ooPIC Tech Support
>>>>
>> wrote:
>>
>>>>
>>>>
>>>>> Have you tried connecting up directly to your PC and using a
>>>>>
>> terminal
>>
>>>>> emulator like Hyperterm or Teraterm? I use the object all the
>>>>>
>> time and
>>
>>>>> it works fine. Also - You are not sending the ASCII values you
>>>>>
> are
>
>>>>> sending the binary value of "31" with what you are doing there.
>>>>>
>>>>> DLC
>>>>>
>>>>> design.wonk wrote:
>>>>>
>>>>>
>>>>>> I only have to send. I am trying to control a Daisy MP3 player
>>>>>>
>> (open
>>
>>>>>> source kit from Make Magazine) with the ooPIC using the Daisy's
>>>>>>
>> Simple
>>
>>>>>> Serial Mode (see below). According to the docs for both
>>>>>>
> devices, the
>
>>>>>> only thing I should have to do select track 1 would be something
>>>>>>
>> like:
>>
>>>>>> oSerialL MP3 = New oSerialL;
>>>>>>
>>>>>> // Init Values
>>>>>>
>>>>>> MP3.IOLineS = 31;
>>>>>> MP3.Baud = cv9600;
>>>>>>
>>>>>> Void main(Void){
>>>>>>
>>>>>> MP3.Value = 1;
>>>>>>
>>>>>> }
>>>>>>
>>>>>>
>>>>>> I an not sure if I am missing something.
>>>>>>
>>>>>>
>>>>>> Here is what the Daisy is looking for....
>>>>>>
>>>>>> SIMPLE SERIAL MODE
>>>>>> Jumpers: X only
>>>>>>
>>>>>> In this mode the player accepts one byte at a time over the serial
>>>>>> port, and depending on the
>>>>>> value of the byte will perform certain operations. The bytes
>>>>>>
> are not
>
>>>>>> ascii, they are just pure
>>>>>> bytes. So sending an ascii "0" is actually sending a 0x30 (decimal
>>>>>> 48). Be careful in your code!
>>>>>>
>>>>>> If the byte is 0 to 180, it will play track 0 to 180.
>>>>>> If the byte is 192 to 255, it will set the volume.
>>>>>> Value 184 toggles pause on and off.
>>>>>> Value 183 turns looping mode on.
>>>>>> Value 182 turns looping mode off.
>>>>>> Value 181 is a kind of reset. It kills the present song and sets
>>>>>>
>> it to
>>
>>>>>> "not pausing" mode.
>>>>>>
>>>>>>
>>>>>> --- In o...@yahoogroups.com, "dan michaels" wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>> --- In o...@yahoogroups.com, "design.wonk" wrote:
>>>>>>>
>>>>>>> I believe oSerialL is the same as oSerialX on the previous
>>>>>>>
>> versions
>>
>>>>>>> of the oopic firmware, and it has some serious problems with use
>>>>>>> on "receive". Transmit works ok, but forget about using receive,
>>>>>>> unless hardware handshaking is employed.
>>>>>>>
>>>>>>> Dennis, this didn't get fixed on the new firmware, did it?
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> I am trying to use the oSerialL to communicate with a another
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>> device, but don't understand the results that I am getting. In
>>>>>>>
>>>>>>>
>>>> doing
>>>>
>>>>
>>>>>>> dome debugging, it seems that the value of the oSerialL object is
>>>>>>>
>>>>>>>
>>>> all
>>>>
>>>>
>>>>>>> over the place, even if it is not attached to anything. If I do
>>>>>>> something like:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> oSerialL MP3 = New oSerialL;
>>>>>>>>
>>>>>>>>
>>>>>>>> // Init Values
>>>>>>>>
>>>>>>>> MP3.IOLineS = 31;
>>>>>>>> MP3.Baud = cv9600;
>>>>>>>>
>>>>>>>> ...
>>>>>>>>
>>>>>>>> when I run this and open a dialog box, the value of the oSerialL
>>>>>>>> object constantly changes, even if nothing is attached to
>>>>>>>>
> line 31.
>
>>>>>>>> What am I missing? If no data is being transmitted or received,
>>>>>>>> shouldn't the value of the object remain 0?
>>>>>>>>
>>>>>>>> thanks
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>> ------------------------------------
>>>>>>
>>>>>>



(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )

Re: oSerialL - Really confused - "design.wonk" - Apr 8 21:06:46 2008

In the example, I thought that I was setting the IO line property of
the oSerailL object to pin 31. Don't I need some type of converter to
connect the TTL - level IO to a real RS232 port?

-GeorgeOrr
--- In o...@yahoogroups.com, ooPIC Tech Support wrote:
>
> Have you tried connecting up directly to your PC and using a terminal
> emulator like Hyperterm or Teraterm? I use the object all the time and
> it works fine. Also - You are not sending the ASCII values you are
> sending the binary value of "31" with what you are doing there.
>
> DLC
>
> design.wonk wrote:
> > I only have to send. I am trying to control a Daisy MP3 player (open
> > source kit from Make Magazine) with the ooPIC using the Daisy's Simple
> > Serial Mode (see below). According to the docs for both devices, the
> > only thing I should have to do select track 1 would be something like:
> >
> > oSerialL MP3 = New oSerialL;
> >
> > // Init Values
> >
> > MP3.IOLineS = 31;
> > MP3.Baud = cv9600;
> >
> > Void main(Void){
> >
> > MP3.Value = 1;
> >
> > }
> >
> >
> > I an not sure if I am missing something.
> >
> >
> > Here is what the Daisy is looking for....
> >
> > SIMPLE SERIAL MODE
> > Jumpers: X only
> >
> > In this mode the player accepts one byte at a time over the serial
> > port, and depending on the
> > value of the byte will perform certain operations. The bytes are not
> > ascii, they are just pure
> > bytes. So sending an ascii "0" is actually sending a 0x30 (decimal
> > 48). Be careful in your code!
> >
> > If the byte is 0 to 180, it will play track 0 to 180.
> > If the byte is 192 to 255, it will set the volume.
> > Value 184 toggles pause on and off.
> > Value 183 turns looping mode on.
> > Value 182 turns looping mode off.
> > Value 181 is a kind of reset. It kills the present song and sets it to
> > "not pausing" mode.
> >
> >
> > --- In o...@yahoogroups.com, "dan michaels" wrote:
> >
> >> --- In o...@yahoogroups.com, "design.wonk" wrote:
> >>
> >> I believe oSerialL is the same as oSerialX on the previous versions
> >> of the oopic firmware, and it has some serious problems with use
> >> on "receive". Transmit works ok, but forget about using receive,
> >> unless hardware handshaking is employed.
> >>
> >> Dennis, this didn't get fixed on the new firmware, did it?
> >>
> >>
> >>
> >>
> >>
> >>> I am trying to use the oSerialL to communicate with a another
> >>>
> >> device, but don't understand the results that I am getting. In
doing
> >> dome debugging, it seems that the value of the oSerialL object is
all
> >> over the place, even if it is not attached to anything. If I do
> >> something like:
> >>
> >>> oSerialL MP3 = New oSerialL;
> >>>
> >>>
> >>> // Init Values
> >>>
> >>> MP3.IOLineS = 31;
> >>> MP3.Baud = cv9600;
> >>>
> >>> ...
> >>>
> >>> when I run this and open a dialog box, the value of the oSerialL
> >>> object constantly changes, even if nothing is attached to line 31.
> >>> What am I missing? If no data is being transmitted or received,
> >>> shouldn't the value of the object remain 0?
> >>>
> >>> thanks
> >>>
> >>>
> >
> >
> >
> > ------------------------------------
> >
> >



(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )

Re: oSerialL - Really confused - "design.wonk" - Apr 8 21:59:20 2008

DLC,

No problem. I just ordered a converter from Pololu. I am not sure
if the problems are with the ooPIC-R or the Daisy MP3 player, but
they don't seem to want to talk to each other. Do you know if the I2C
network connector can be used for async serial IO to another device?

-GeorgeOrr

--- In o...@yahoogroups.com, ooPIC Tech Support wrote:
>
> Sorry, I was looking at one things and thinking another. Yes, you are
> setting it to IOline 31. Make sure that you are using the pin for
> IOline 31 and not pin 31. Also, you are correct, you need to use a
> RS232 converter to get RS232 from an oSerialL line. Pololu, Sparkfun,
> Acroname and the Mark III store all sell simple ones for about $10. My
> favorite one is the Acroname "Brainstem" one that you can get for
$10 at
> www.junun.org (Mark III Store).
>
> DLC
>
> design.wonk wrote:
> > In the example, I thought that I was setting the IO line property of
> > the oSerailL object to pin 31. Don't I need some type of converter to
> > connect the TTL - level IO to a real RS232 port?
> >
> > -GeorgeOrr
> >
> >
> > --- In o...@yahoogroups.com, ooPIC Tech Support
wrote:
> >
> >> Have you tried connecting up directly to your PC and using a
terminal
> >> emulator like Hyperterm or Teraterm? I use the object all the
time and
> >> it works fine. Also - You are not sending the ASCII values you are
> >> sending the binary value of "31" with what you are doing there.
> >>
> >> DLC
> >>
> >> design.wonk wrote:
> >>
> >>> I only have to send. I am trying to control a Daisy MP3 player
(open
> >>> source kit from Make Magazine) with the ooPIC using the Daisy's
Simple
> >>> Serial Mode (see below). According to the docs for both devices, the
> >>> only thing I should have to do select track 1 would be something
like:
> >>>
> >>> oSerialL MP3 = New oSerialL;
> >>>
> >>> // Init Values
> >>>
> >>> MP3.IOLineS = 31;
> >>> MP3.Baud = cv9600;
> >>>
> >>> Void main(Void){
> >>>
> >>> MP3.Value = 1;
> >>>
> >>> }
> >>>
> >>>
> >>> I an not sure if I am missing something.
> >>>
> >>>
> >>> Here is what the Daisy is looking for....
> >>>
> >>> SIMPLE SERIAL MODE
> >>> Jumpers: X only
> >>>
> >>> In this mode the player accepts one byte at a time over the serial
> >>> port, and depending on the
> >>> value of the byte will perform certain operations. The bytes are not
> >>> ascii, they are just pure
> >>> bytes. So sending an ascii "0" is actually sending a 0x30 (decimal
> >>> 48). Be careful in your code!
> >>>
> >>> If the byte is 0 to 180, it will play track 0 to 180.
> >>> If the byte is 192 to 255, it will set the volume.
> >>> Value 184 toggles pause on and off.
> >>> Value 183 turns looping mode on.
> >>> Value 182 turns looping mode off.
> >>> Value 181 is a kind of reset. It kills the present song and sets
it to
> >>> "not pausing" mode.
> >>>
> >>>
> >>> --- In o...@yahoogroups.com, "dan michaels" wrote:
> >>>
> >>>
> >>>> --- In o...@yahoogroups.com, "design.wonk" wrote:
> >>>>
> >>>> I believe oSerialL is the same as oSerialX on the previous
versions
> >>>> of the oopic firmware, and it has some serious problems with use
> >>>> on "receive". Transmit works ok, but forget about using receive,
> >>>> unless hardware handshaking is employed.
> >>>>
> >>>> Dennis, this didn't get fixed on the new firmware, did it?
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>> I am trying to use the oSerialL to communicate with a another
> >>>>>
> >>>>>
> >>>> device, but don't understand the results that I am getting. In
> >>>>
> > doing
> >
> >>>> dome debugging, it seems that the value of the oSerialL object is
> >>>>
> > all
> >
> >>>> over the place, even if it is not attached to anything. If I do
> >>>> something like:
> >>>>
> >>>>
> >>>>> oSerialL MP3 = New oSerialL;
> >>>>>
> >>>>>
> >>>>> // Init Values
> >>>>>
> >>>>> MP3.IOLineS = 31;
> >>>>> MP3.Baud = cv9600;
> >>>>>
> >>>>> ...
> >>>>>
> >>>>> when I run this and open a dialog box, the value of the oSerialL
> >>>>> object constantly changes, even if nothing is attached to line 31.
> >>>>> What am I missing? If no data is being transmitted or received,
> >>>>> shouldn't the value of the object remain 0?
> >>>>>
> >>>>> thanks
> >>>>>
> >>>>>
> >>>>>
> >>>
> >>> ------------------------------------
> >>>
> >>>



(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )