This code should have been posted on the QuickStart product page already. My apologies for that - seems like we skipped a step on the product release process.
I'll see that this code is posted by noon tomorrow Pacific.
I hate to belittle a point but... What part of "Quick" has to do with sending a "Demo" code written in assembly???? If I was a new user and presented with this, the "$20 board" would be in the junk box in about 5 minutes.
There's tons of demo code for the Propeller. That's just the default program that comes with the QuickStart so it does something out of the box. And PASM is one of the two native languages for the Propeller. What's wrong with having the default program illustrate how to use the two together? If I was a new user I'd think this would pique my interest.
But everything is a work-in-progress so I'm sure Parallax will take your feedback into consideration. Maybe they can include a variation of the BlinkWithCogs program from the PE Kit on the QuickStart downloads page to demonstrate how easy it is to perform tasks with multiple cogs.
Thanks for the reply. As you said "everything is a work-in-progress". I come across as a bit abrasive sometimes and don't mean to put anyone's efforts down. I really like the Quickstart board a lot and think the quality is great and will be buying more in the future.
I just discovered the Quickstart1 through Quickstart6 lessons so Parallax is making more and more material available for this board. Quickstart3 is missing the E555... file.
I'd like to see the list of lessons somewhere on Parallaxsemiconductor.com also. Maybe I missed it.
The geek in me is off to make a "Cylon / Kitt" demo and have the LED stop on the button you push.
I wonder if the choice of using PASM was because of the target audience for the QuickStart. This is part of Parallax's plan to reach out beyond the hobbyists. With all of the "complaining" in the forum about needing to use SPIN instead of C, maybe they want to downplay SPIN a bit so that people are not turned away by a non-standard language. This also fits with the ongoing development of C for the Propeller.
[By the way, I like SPIN but I don't think I'm part of the real target market for the QuickStart.]
Edit: Don't use this version. I posted a better version below.
I wanted to see if I could tame the flashing of the LEDs.
I made a few changes. I think it helps.
CON
_CLKMODE = XTAL1 + PLL16X
_CLKFREQ = 80_000_000
OBJ
Buttons : "Touch Buttons"
PUB Main
Buttons.start(_CLKFREQ / 100) ' Launch the touch buttons driver sampling 100 times a second
dira[23..16]~~ ' Set the LEDs as outputs
repeat
result := 0
repeat 500
result |= Buttons.State ' Keep LEDs lit if button touched once during loop
outa[23..16] := result ' Light the LEDs when touching the corresponding buttons
I'm sure there are better ways to debouce the touch pads. I just wanted to give it a try before reading what others have done.
PUB Main | temp
Buttons.start(_CLKFREQ / 100) ' Launch the touch buttons driver sampling 100 times a second
dira[23..16]~~ ' Set the LEDs as outputs
temp := 0
repeat
result := temp
temp := 0
repeat 100
temp |= Buttons.State ' Keep LEDs lit if button touched once during loop
result |= temp ' Or if the button had been touched previous loop
outa[23..16] := result ' Light the LEDs when touching the corresponding buttons
Duane
Edit: I've made several other modifications to the code. I have a thread in the Propeller forum with the code.
SSteve,
The QuickStart is a simplistic Propeller design that doesn't dedicate any pins to any specific function, besides those inherent to the Propeller itself. There are eight LEDs that reflect the state of eight I/O pins, and eight resistive touch-sensitive buttons that have almost no effect on the I/O pins. There is no predicated function, the board is a basis to run whatever program you need.
While the resistive touch-sensitive buttons have almost no effect on the I/O pins, you can read them with the "Touch Buttons.spin" object available in the Touch Buttons LED Demo program available from http://www.parallaxsemiconductor.com/products/quickstart. Since the QuickStart doesn't come preloaded with firmware or have any default function, there isn't a default program for it. The Touch Buttons LED Demo does simultaneously use the LEDs and the touch buttons, which demonstrates most of the functionality of the board.
Paul,
The Touch Buttons LED Demo includes the Touch Buttons object "Touch Buttons.spin", which is written in assembly language to allow it to work over a large clock range. The demo itself "Touch Buttons LED Demo v1.0.spin" and it is a few lines of code in Spin. You can use it as a template to make top objects that use the Touch Buttons object.
Comments
I'll see that this code is posted by noon tomorrow Pacific.
Ken Gracey
But everything is a work-in-progress so I'm sure Parallax will take your feedback into consideration. Maybe they can include a variation of the BlinkWithCogs program from the PE Kit on the QuickStart downloads page to demonstrate how easy it is to perform tasks with multiple cogs.
Nice packaging, Parallax continues to have a great creative art department.
The link to the quickstart printed on the back of the box currently leads to a "Page not found"...
http://www.parallaxsemiconductor.com/quickstart
A search leads to the real deal...
http://www.parallaxsemiconductor.com/products/quickstart
I just discovered the Quickstart1 through Quickstart6 lessons so Parallax is making more and more material available for this board. Quickstart3 is missing the E555... file.
I'd like to see the list of lessons somewhere on Parallaxsemiconductor.com also. Maybe I missed it.
The geek in me is off to make a "Cylon / Kitt" demo and have the LED stop on the button you push.
Spin is much easier to understand. I think it would be nice to have a Spin only version of the touch button demo.
I remember early in my Propeller education being very excited by being able to increase and decrease the rate a LED flashed by pressing buttons.
The QuickStart makes this possible without any extra hardware. Super cool!
BTW, I received my QuickStart boards yesterday. They're great.
Thanks Parallax.
Duane
[By the way, I like SPIN but I don't think I'm part of the real target market for the QuickStart.]
I wanted to see if I could tame the flashing of the LEDs.
I made a few changes. I think it helps.
I'm sure there are better ways to debouce the touch pads. I just wanted to give it a try before reading what others have done.
Duane
Duane
Edit: I've made several other modifications to the code. I have a thread in the Propeller forum with the code.
Should be working now, thanks for pointing this out.
http://www.parallaxsemiconductor.com/quickstart
The QuickStart is a simplistic Propeller design that doesn't dedicate any pins to any specific function, besides those inherent to the Propeller itself. There are eight LEDs that reflect the state of eight I/O pins, and eight resistive touch-sensitive buttons that have almost no effect on the I/O pins. There is no predicated function, the board is a basis to run whatever program you need.
While the resistive touch-sensitive buttons have almost no effect on the I/O pins, you can read them with the "Touch Buttons.spin" object available in the Touch Buttons LED Demo program available from http://www.parallaxsemiconductor.com/products/quickstart. Since the QuickStart doesn't come preloaded with firmware or have any default function, there isn't a default program for it. The Touch Buttons LED Demo does simultaneously use the LEDs and the touch buttons, which demonstrates most of the functionality of the board.
Paul,
The Touch Buttons LED Demo includes the Touch Buttons object "Touch Buttons.spin", which is written in assembly language to allow it to work over a large clock range. The demo itself "Touch Buttons LED Demo v1.0.spin" and it is a few lines of code in Spin. You can use it as a template to make top objects that use the Touch Buttons object.
David Carrier
Parallax Inc.