Request for suggestions of projects to demo SX features compared to STAMP
John Kauffman
Posts: 653
Request for suggestions for projects to demo SX features
·
I'm putting together a 30-60 minute lecture that demonstrates the SX chip for my students that are already familiar with STAMP. The objective is to show why they would switch to the SX in their designs (and thus sign up for an SX course). I think this is an important question – after investing their time (and budgets) into STAMP, they want a compelling reason to buy the SX Tech Tool kit and learn how to use the SX. Just saying “it’s faster” is not enough for these guys. They want a demo that shows how a STAMP can not solve a problem and how the SX can solve it.
·
Once finished, I’m glad to share these lecture notes and slides with anyone interested.
·
I'd like to come up with several simple projects that specifically demonstrate tasks where an SX chip can solve a problem that a STAMP can not. After this intro lecture we will offer a class where we go into a detailed series of lectures on the SX.
·
The topics for the introduction lecture would include how the SX:
-········ Has additional pins (then some BS models)
-········ Supports larger memory space (then simpler BS2 models)
-········ Runs at higher clock speeds
-········ Uses interrupts
-········ Supports additional debugging tools
-········ Offers an analog comparator
-········ Supports higher current outputs (then some BS models)
-········ Selectable trigger levels for input pins
-········ Capability to build Virtual Peripherals (and the starter library)
-········ others – as per suggestion
·
I'm picturing a presentation where I have BOE and SX Tech Tool projects built for each of the above topics. I introduce the objective, then run the STAMP and show its limits, then run the SX to demonstrate success. I then would show and discuss the SX/B code (I’m using SX/B instead of assembly because it is an easier transition for the STAMP-centric).
·
Ideally, each project would have:
Obvious objective for the project
Low count and simple hardware parts (so I can build them quickly before lecture)
Code of a few dozens lines or less so the salient point can be easily explained
(Most important) – Very clear demonstration of a task which is solvable by SX features but not by STAMP. Doing the same project with two different chips is not the objective; the demo must show how the SX is needed to solve the task.
·
(I’m a big STAMP fan, but this is one case where I need them to fail at solving the task. Don’t worry, I’ll be reminding them of the STAMP strengths, too, like EEPROM for storage.)
·
I have looked over the five SX/B examples at http://www.parallax.com/sx/sxb_examples_apps.asp. Although they are great for demo of SX/B code, I think some could be done in STAMP (for example the rolling dice). The multiplexing demos may be right for demonstrating interrupts.
·
I am very interested in suggestions from this forum for demos of the above list of features (or other features that you might suggest). Thanks.
·
I'm putting together a 30-60 minute lecture that demonstrates the SX chip for my students that are already familiar with STAMP. The objective is to show why they would switch to the SX in their designs (and thus sign up for an SX course). I think this is an important question – after investing their time (and budgets) into STAMP, they want a compelling reason to buy the SX Tech Tool kit and learn how to use the SX. Just saying “it’s faster” is not enough for these guys. They want a demo that shows how a STAMP can not solve a problem and how the SX can solve it.
·
Once finished, I’m glad to share these lecture notes and slides with anyone interested.
·
I'd like to come up with several simple projects that specifically demonstrate tasks where an SX chip can solve a problem that a STAMP can not. After this intro lecture we will offer a class where we go into a detailed series of lectures on the SX.
·
The topics for the introduction lecture would include how the SX:
-········ Has additional pins (then some BS models)
-········ Supports larger memory space (then simpler BS2 models)
-········ Runs at higher clock speeds
-········ Uses interrupts
-········ Supports additional debugging tools
-········ Offers an analog comparator
-········ Supports higher current outputs (then some BS models)
-········ Selectable trigger levels for input pins
-········ Capability to build Virtual Peripherals (and the starter library)
-········ others – as per suggestion
·
I'm picturing a presentation where I have BOE and SX Tech Tool projects built for each of the above topics. I introduce the objective, then run the STAMP and show its limits, then run the SX to demonstrate success. I then would show and discuss the SX/B code (I’m using SX/B instead of assembly because it is an easier transition for the STAMP-centric).
·
Ideally, each project would have:
Obvious objective for the project
Low count and simple hardware parts (so I can build them quickly before lecture)
Code of a few dozens lines or less so the salient point can be easily explained
(Most important) – Very clear demonstration of a task which is solvable by SX features but not by STAMP. Doing the same project with two different chips is not the objective; the demo must show how the SX is needed to solve the task.
·
(I’m a big STAMP fan, but this is one case where I need them to fail at solving the task. Don’t worry, I’ll be reminding them of the STAMP strengths, too, like EEPROM for storage.)
·
I have looked over the five SX/B examples at http://www.parallax.com/sx/sxb_examples_apps.asp. Although they are great for demo of SX/B code, I think some could be done in STAMP (for example the rolling dice). The multiplexing demos may be right for demonstrating interrupts.
·
I am very interested in suggestions from this forum for demos of the above list of features (or other features that you might suggest). Thanks.
Comments
While the SX isn't multithreaded, use of ISR in such a fast processor can make it appear as if it is multithreaded.·The single most asked question is generating servo pulses for more than one servo simultaneously, something that is very difficult in a stamp.··Bean's 16 channel PWM/servo controller in the Projects forum is an excellent basis to show this functionality. Jon's Midi receiver (also in the project forum) is a good example how processes can occur in the background (receiving midi commands in his project). A program to show the usefulness of the speed of the SX processor is Jon's encoder·project, while this can be done with a stamp, the encoder cannot be spun too fast or transitions are missed and counts are off. This may be a good head to head example to show your students, by having a quadrature encoder whose outputs are counted by both an SX and a stamp, with each outputing thier count on an LED display. If the encoder is spun too fast, the stamps count will be off, while the SX will have the true count. Your students may be suprised to see the encoder doesn't need to be spun very fast at all before the stamp starts missing transitions.
I tried to find a good example of interrupts in the SX, but the closest I could find was Peter Van der Zee's Preemptive RTOS. But this was written in assembler and uses the RTCC interupt rather than an example of an external interrupt system I was looking for.
BTW, its an honor to have such an esteemed author as an active member of the forums.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
·1+1=10
The counting demo should be great. That reminds me of a demo I do where a transistor and relay are sent the same hi-low pulse train and the two switch's outputs are shown on two 'scope traces. As the input frequency increases the transistor does fine while the relay starts to break up and then goes into a catatonic stutter.
As to writing books; it is just a job, nothing esteemed about it. I'm just introducing new people to the techniques developed by the real pros like yourself and the guys on this forum.
I think the biggest reason for SX vs Stamp is as Paul said; the apparent ability to do more than one relatively fast thing at a time, ie multi-tasking.
An excellent example would be to receive a string of UART numbers from a keyboard or from a quadrature pulse encoder WHILE displaying them in multiplexed form on a multi-digit 7 segment display.
This can readily be done using the simple non-preemptive RTOS example I posted on March 29. The more complicated preempive RTOS is not required, and for educational purposes probably not desired for such a simple application.
Cheers,
Peter (pjv)
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
---
James Newton, Host of SXList.com
james at sxlist,com 1-619-652-0593 fax:1-208-279-8767
SX FAQ / Code / Tutorials / Documentation:
http://www.sxlist.com Pick faster!
Check out the SX design contest entries. Like that cool video module [noparse];)[/noparse] try doing THAT with a stamp.
Bean.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"SX-Video·Module" Now available from Parallax for only $28.95
http://www.parallax.com/detail.asp?product_id=30012
Product web site: www.sxvm.com
"One experiment is worth a thousand theories"
·
I ended up thinking the video module was best (for my puposes) as a demo of how to use the sx together with the STAMP. In some ways the same, but without a demo of what is under the hood that the SX is doing. Just view it as
I'd love to see your results / class notes when you are done!
1) The thing that comes to my mind first is COST. Once you pay for the SX-Key, each subsequent chip is only about $5. Or, Parallax has a new prototype board for the SX52 for under $10 (http://www.parallax.com/detail.asp?product_id=45304). Think about the possibilities of that at 100mhz!
2) One thing I am looking into is to turn a SX52 into a web server. That violates your part count and it needs to be done in assembler but you could show what the top end of the scale is. Peter Verkaik pointed me to the SXList (http://www.sxlist.com/techref/ubicom/virtperf.htm) that has a whole bunch of fun stuff including the web server.
3) Reduced part count to do things like ADC / DAC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
John J. Couture
San Diego Miramar College