The only problem is that it doesn't work ... :>( I must be doing something else wrong. If anyone knows how to do this please respond with a complete "small" example that I can Dump into my Propeller and give it a Spin. Please give an example based on receiving either "Go" or "Stop" ...
If I receive "Go" turn on LED-0, if I receive "stop" turn on LED-7.
If anyone knows how to do this please respond with a complete "small" example that I can Dump into my Propeller and give it a Spin. Please give an example based on receiving either "Go" or "Stop" ... If I receive "Go" turn on LED-0, if I receive "stop" turn on LED-7.
Quick and dirty, I used LED_16 and LED_17 instead and every time a command is received their state is toggled:
CON
_clkmode = XTAL1|PLL16X
_xinfreq = 5_000_000
OBJ
serial: "Parallax Serial Terminal"
VAR
byte command[32]
PUB null
serial.start(115200)
waitcnt(clkfreq*3 + cnt)
dira[[COLOR="orange"]16..17[/COLOR]]~~
repeat
serial.StrInMax(@command{0}, 31) ' read command
if strcomp(@command{0}, string("go"))
LED([COLOR="orange"]16[/COLOR])
next
if strcomp(@command{0}, string("stop"))
LED([COLOR="orange"]17[/COLOR])
next
PRI LED(pin)
!outa[pin]
DAT
kuroneko, First of all Let me say Thank you for taking the time to pass the Code along to me. I am not using the Serial Terminal, I am getting an error on the "StrInMax" command. Not familiar enough with: serial.StrInMax(@command{0}, 31)
I am using Extended_FDSerial, Texting the commands from my Cell Phone to the TeLit 865cf Cellular chip which is passing them along to my Professional Development Board. Can this code be changed to work in this manner? I am already making a call to serial.start(26,25,%0000,115200)
earlier in my code.
Can this code be changed to work in this manner? I am already making a call to serial.start(26,25,%0000,115200) earlier in my code.
Sure, just be aware that you can receive at most 15 characters this way (i.e. pick short command names).
CON
_clkmode = XTAL1|PLL16X
_xinfreq = 5_000_000
OBJ
serial: "Extended_FDSerial"
VAR
byte command[16]
PUB null
serial.start(31, 30, %0000, 115200)
waitcnt(clkfreq*3 + cnt)
dira[16..17]~~
repeat
serial.RxStr(@command{0}) ' read command
if strcomp(@command{0}, string("go"))
LED(16)
next
if strcomp(@command{0}, string("stop"))
LED(17)
next
PRI LED(pin)
!outa[pin]
DAT
Also note that comma is the default delimiter (CR is always treated as delimiter). Which means you can't have it as part of your commands unless you change the default.
For some reason it did not work, I might have made a mistake so I posted the whole code here ....
Do you see where I am going wrong?
John.
'
CON
_clkmode = xtal1 + pll16x
_clkfreq = 80_000_000
OBJ
serial: "Extended_FDSerial"
VAR
long Stack[400], rxStr_stack[20],rxStr_array[20]
Byte Byte_Array[15],datain[16]
byte command[32]
For some reason it did not work, I might have made a mistake so I posted the whole code here ....
You should wrap your code in [noparse]
[/noparse] tags (it's easier to read). Anyway, can you verify that you actually reach the receive part of your program (i.e. by lighting LED 4)? Then I'd suggest you start a debug serial driver (connected to the PC) and dump the raw data received (if any), e.g. instead of the current RxStr loop use this:
Thanks kuroneko, I usually do that :<) "I've had Too much to think tonight" !
Getting a little tired and fixing to hit the sack, I'll stay in touch and let you know how it goes ...
Again, Thanks ...
John.
The GE865 has "solder bumps" (half balls) underneath it, on a 2.4mm pitch 8x8 grid. There bumps are about 1mm diameter. My pcb has plated through holes that are slightly larger to accommodate the bumps. So to assemble, the GE865 is placed on table with bumps facing upwards, and the thin pcb is placed over the top. Then you just go over each "plated through well" (which has a GE865 solder bump at its bottom) and melt the solder ball so it solders to the wall of the "well". The PCB is very thin, about 0.7mm, and this permits a fine tip iron to easily make contact with the solder ball itself.
The antenna is just another bump that is soldered the same way, and it connectors to a MMCX connector a minimal distance away.
The arduino version is getting proto'd now, it'll be a little while until I have production boards in that format. I have matching prop boards available now
The easiest way to deal with the level shifting is run the Prop or other mcu from 2.9~3.0 volts DC. Sure it involves another adjustable regulator but thats simpler than level shifting. The arduino version has a couple of quad level shifters on board so it can have a 5v rail happily.
Just PM me if you want to purchase, $10 per board plus something very miniscule for postage
Hi,
Is the Arduino version there already? I am very curious about that!
I have worked with the GC864 but decided to cut straight to the GE865 and avoid that fine pitch 80 way molex connector.
Hi Tubular,
your thin PCB for BGA is really brilliant !
I still have some CG864 in my drawer and I was just wondering if you still have some PCBs for GC864 that i can buy to you or any schematic I can use to redesign a new one ?
(gerber could be also ok, as it's mainly to do some evalution with this module)
An arduino shield form factor would have been ideal but I'm maybe asking too much ;-)
cheers
Eric
Comments
you are correct you should use the Boolean == verses the assignment :=
If I receive "Go" turn on LED-0, if I receive "stop" turn on LED-7.
Thanks,
John
I am using Extended_FDSerial, Texting the commands from my Cell Phone to the TeLit 865cf Cellular chip which is passing them along to my Professional Development Board. Can this code be changed to work in this manner? I am already making a call to serial.start(26,25,%0000,115200)
earlier in my code.
Thank you very much for your help,
John.
John.
Do you see where I am going wrong?
John.
'
CON
_clkmode = xtal1 + pll16x
_clkfreq = 80_000_000
OBJ
serial: "Extended_FDSerial"
VAR
long Stack[400], rxStr_stack[20],rxStr_array[20]
Byte Byte_Array[15],datain[16]
byte command[32]
PUB INITIATE |x
dira[0..7]~~
serial.stop
serial.RxFlush
serial.start(26,25,%0000,115200)
serial.str(String("AT+CMGD=1,4",13))
waitcnt(clkfreq+cnt)
serial.str(String("AT+CMGF=1",13))
waitcnt(clkfreq+cnt)
serial.str(String("AT#SMSMODE=0",13))
waitcnt(clkfreq+cnt)
serial.str(String("AT+CPMS=ME",13))
waitcnt(clkfreq+cnt)
serial.str(String("AT+CNMI=1,1,0,0,0",13))
waitcnt(clkfreq+cnt)
serial.str(String("AT+CMGS=",34,"+1205******* ",34,13)) 'Install your number
waitcnt(clkfreq+cnt)
serial.str(String("System Is Initiated"))
waitcnt(clkfreq+cnt)
serial.tx(26) 'Send the message via CTL+ Z
waitcnt(clkfreq+cnt)
'
' Receive Code
'
waitcnt(clkfreq*3 + cnt)
repeat
serial.RxStr(@command{0}) ' read command
if strcomp(@command{0}, string("go"))
LED(6)
next
if strcomp(@command{0}, string("stop"))
LED(7)
next
PRI LED(pin)
!outa[pin]
DAT
Getting a little tired and fixing to hit the sack, I'll stay in touch and let you know how it goes ...
Again, Thanks ...
John.
Hi,
Is the Arduino version there already? I am very curious about that!
Best wishes,
3dotter
your thin PCB for BGA is really brilliant !
I still have some CG864 in my drawer and I was just wondering if you still have some PCBs for GC864 that i can buy to you or any schematic I can use to redesign a new one ?
(gerber could be also ok, as it's mainly to do some evalution with this module)
An arduino shield form factor would have been ideal but I'm maybe asking too much ;-)
cheers
Eric