I had problems trying to read the Google Docs Instruction Set even when printing off on 24"x36" pages.
I have taken the XLS files to a more readable letter size for my desk reference.
Good idea. And here's my version. I think the bit encoding is not so important except for compiler developers. For me as beginner the verbose description is more helpful.
I just group the columns after the description and then collapse that to hide it. If I print the result out then there are 8 pages.
Here's a screenshot.
It will report 0 for no compiler error or 1 for compiler error.
You can add -r to also download and run. Download won't happen unless compilation was successful.
Chip: Is it possible to change the errorlevel value to the offending line # in the code -- that would make bug hunting with external editors a bit easier.
However, I think one'd probably want the file name the error is in, too.
Agreed, but PNut is Chip's workspace, and never really intended for big public use -- so I will take little changes if I can get them. Since many projects are multi-file, your suggestion makes sense. Would also love to have Ctrl-Z working for those, "I didn't mean to do that!" pastes.
It seems like I could un-sticky this thread. Since we have the OBEX, Quick Bytes, and active projects on the forums, this thread could be a disservice to those seeking a quick-start P2 experience.
Ken,
There are actually 4 stickies (ie exclude the zoom one) that could be “unstuck” and a new stickie with a link to each of these, plus the Tricks and Traps thread, PropTool, FlexProp/FlexSpin, and a number of others too. Keep it locked to moderators only so it’s only a link to important threads.
A second post could be the better Quick Byte links, and a third to include some links to less important threads.
There’s some really good stuff here that’s difficult to find.
Don’t quite know what to call the subject, but I’m sure you could work one out
This would help reading the forum too as all i get are the stickies on the P2 section initially.
Thinking more (hard to fix on ipad), also a post for documents. Think of it as an index to the good stuff 😃
I reference this topic plenty. It's my go-to when answering other people's questions. So, whatever reorganising is done, I'd still like to have this one in the list of visible links.
In fact I was about to add a new entry just tonight, for a disassembler.
PS: On that note, I'm not seeing any banners at the top of the forums that links to these OBEX, Quick Bytes, and active projects.
@"Ken Gracey" said:
It seems like I could un-sticky this thread. Since we have the OBEX, Quick Bytes, and active projects on the forums, this thread could be a disservice to those seeking a quick-start P2 experience.
Thoughts?
Ken Gracey
IMHO Quick Bytes need to be put next to Shop And Learn In Upper Right of the landing page.
Hi I'm a newby and recently proud owner of the P2 revb
Maybe this is not the right place to ask, if so please be kind to me
Tried my first baby steps with
1. Parallax standard and continuous servo's (works)
2. Parallax UV light sensor (works)
Now I'm working with the Parallax 2-Axis Joystick and having trouble finding the right starters info for Spin2
Does anyone know a good example program in Spin2 for the Joystick?
I've connected my Joystick to a Parallax 64020 P2 Edge Breakout Board
Later I will try to learn about connecting and controlling The Parallax feedback 360 high speed servo
@evanh said:
Now I'm working with the Parallax 2-Axis Joystick and having trouble finding the right starters info for Spin2
Does anyone know a good example program in Spin2 for the Joystick?
Help is very appreciated
@evanh said:
Now I'm working with the Parallax 2-Axis Joystick and having trouble finding the right starters info for Spin2
Does anyone know a good example program in Spin2 for the Joystick?
Help is very appreciated
I did and went further than that & continued my baby steps (got lots of help from Jon McPhalen)
3. 90deg Servo control
4. Switch usage
5. LED usage
5. working with different COG's
6. working with relays
I'm at the beginning of putting it all together into a machine:
Here's a streamer timing test I just did. I was interested in how quickly XINIT, in particularly, gets going.
Blue track is pin 56.
Orange trace is pin 57.
Tick 0, step 1: First OUTH executes, pin 56 set high.
Tick 2, step 2: XINIT executes, nothing appears.
Tick 4, step 3: XZERO executes, bit0 (high) of XINIT appears on pin 57.
Tick 5: bit1 (low) of XINIT appears on pin 57.
Tick 6, step 4: First OUTL executes, pin 56 reset low, bit2 (low) of XINIT appears on pin 57.
Tick 7: bit3 (low) of XINIT appears on pin 57.
Tick 8, step 5: WAITXFI executes (pausing), bit0 (high) of XZERO appears on pin 57.
Tick 9: bit1 (low) of XZERO appears on pin 57.
Tick 10: bit2 (low) of XZERO appears on pin 57.
Tick 11: bit3 (low) of XZERO appears on pin 57.
Tick 12: Streamer empty, pin 57 stays low.
Tick 14: WAITXFI resumes
Tick 16, step 6: Second OUTH executes, pin 56 set high.
Tick 18, off-screen: Second OUTL executes, pin 56 reset low.
Added a smartpin to this one. It shows that timings relative to a plain OUT toggle the smartpin takes an extra sysclock tick, and the streamer takes two extra ticks.
#include <stdint.h>
enum {
// _xinfreq = 20_000_000, // Use for EC Edge Card
_xtlfreq = 20_000_000, // Use for Eval Board
_clkfreq = 4_000_000,
};
void main(void)
{
uint32_t mcmd = X_IMM_32X1_1DAC1 | 33<<17 | X_PINS_ON | 4; // mode, pin and bit count
__asm const {
drvl #32 | 1<<6
wrpin ##P_NCO_FREQ | P_OE | P_INVERT_OUTPUT, #34
wxpin #4, #34
wypin ##0x8000_0000, #34
setxfrq ##0x8000_0000UL // sysclock/1
dirh #34
outh #32
xinit mcmd, #1 // four bits: high-low-low-low in order
xzero mcmd, #1 // four bits: high-low-low-low in order
outl #32
waitxfi
outh #32
outl #32
waitx #500
}
}
Comments
https://drive.google.com/file/d/1W3sVAx9TeI9mCRsaywBB7_SIYmX8zYpU/view?usp=sharing
To just compile your PASM code:
To also download your PASM code:
To compile from a batch file, make a batch file like this:
It will report 0 for no compiler error or 1 for compiler error.
You can add -r to also download and run. Download won't happen unless compilation was successful.
Good idea. And here's my version. I think the bit encoding is not so important except for compiler developers. For me as beginner the verbose description is more helpful.
Here's a screenshot.
Chip: Is it possible to change the errorlevel value to the offending line # in the code -- that would make bug hunting with external editors a bit easier.
However, I think one'd probably want the file name the error is in, too.
Especially, if could be in format similar to FastSpin, OpenSpin, etc...
Or, maybe we need OpenSpin2...
And more - https://forums.parallax.com/discussion/comment/1494165/#Comment_1494165
And that came from the new overview of the custom pad ring schematic - https://forums.parallax.com/discussion/comment/1494131/#Comment_1494131
https://github.com/parallaxinc/propeller/tree/master/libraries
https://drive.google.com/file/d/1iTA4dwbntgaUVnpt0-9pDcFCVSsvCUnU/view?usp=sharing
https://drive.google.com/file/d/1iTA4dwbntgaUVnpt0-9pDcFCVSsvCUnU/view
P2 DVI/VGA driver by Roger Loh
forums.parallax.com/discussion/170676/p2-dvi-vga-driver/p1
KiCad v5 for P2X8C4M64P - schematic symbols and footprint etc
forums.parallax.com/discussion/172007/kicad-p2-stuff#latest
P2 Fonts
https://forums.parallax.com/discussion/167894/a-rom-font-compatibile-8x8-font
http://forums.parallax.com/discussion/comment/1503884/#Comment_1503884
Added 11 Nov 2020
Chip finalising the SincX smartpin modes, Jan 2019 - https://forums.parallax.com/discussion/comment/1459931/#Comment_1459931
26 Nov 2020:
HubRAM read latency - https://forums.parallax.com/discussion/comment/1511074/#Comment_1511074
19 Jan 2022
First edition of muldiv65() - A modified muldiv64() with added precision for rounding to nearest - https://forums.parallax.com/discussion/comment/1525687/#Comment_1525687
Revised muldiv65(), and div33(), to included IEEE de-biasing - https://forums.parallax.com/discussion/comment/1529194/#Comment_1529194
Chip following up with float improvements for Spin2 - https://forums.parallax.com/discussion/comment/1533679/#Comment_1533679
Subsequently used to build pllset() function - https://forums.parallax.com/discussion/comment/1529413/#Comment_1529413
which was based on Chip's compiler code - https://forums.parallax.com/discussion/171044/pll-settings-calculator/p1
QROTATE and QVECTOR made simple - https://forums.parallax.com/discussion/173878/qrotate-and-qvector-made-simple/p1
It seems like I could un-sticky this thread. Since we have the OBEX, Quick Bytes, and active projects on the forums, this thread could be a disservice to those seeking a quick-start P2 experience.
Thoughts?
Ken Gracey
Ken,
There are actually 4 stickies (ie exclude the zoom one) that could be “unstuck” and a new stickie with a link to each of these, plus the Tricks and Traps thread, PropTool, FlexProp/FlexSpin, and a number of others too. Keep it locked to moderators only so it’s only a link to important threads.
A second post could be the better Quick Byte links, and a third to include some links to less important threads.
There’s some really good stuff here that’s difficult to find.
Don’t quite know what to call the subject, but I’m sure you could work one out
This would help reading the forum too as all i get are the stickies on the P2 section initially.
Thinking more (hard to fix on ipad), also a post for documents. Think of it as an index to the good stuff 😃
In fact I was about to add a new entry just tonight, for a disassembler.
PS: On that note, I'm not seeing any banners at the top of the forums that links to these OBEX, Quick Bytes, and active projects.
IMHO Quick Bytes need to be put next to Shop And Learn In Upper Right of the landing page.
Hi I'm a newby and recently proud owner of the P2 revb
Maybe this is not the right place to ask, if so please be kind to me
Tried my first baby steps with
1. Parallax standard and continuous servo's (works)
2. Parallax UV light sensor (works)
Now I'm working with the Parallax 2-Axis Joystick and having trouble finding the right starters info for Spin2
Does anyone know a good example program in Spin2 for the Joystick?
I've connected my Joystick to a Parallax 64020 P2 Edge Breakout Board
Later I will try to learn about connecting and controlling The Parallax feedback 360 high speed servo
Help is very appreciated
I think you might be able to get started with a similar code snippet that you used here https://www.parallax.com/32-channel-adc-object/
Ken Gracey
Thanks Mr. Gracey,
sorry for my late reaction.
I did and went further than that & continued my baby steps (got lots of help from Jon McPhalen)
3. 90deg Servo control
4. Switch usage
5. LED usage
5. working with different COG's
6. working with relays
I'm at the beginning of putting it all together into a machine:
and letting my SPIN2 program drive 2 axis.
Here's a streamer timing test I just did. I was interested in how quickly XINIT, in particularly, gets going.
Blue track is pin 56.
Orange trace is pin 57.
Tick 0, step 1: First OUTH executes, pin 56 set high.
Tick 2, step 2: XINIT executes, nothing appears.
Tick 4, step 3: XZERO executes, bit0 (high) of XINIT appears on pin 57.
Tick 5: bit1 (low) of XINIT appears on pin 57.
Tick 6, step 4: First OUTL executes, pin 56 reset low, bit2 (low) of XINIT appears on pin 57.
Tick 7: bit3 (low) of XINIT appears on pin 57.
Tick 8, step 5: WAITXFI executes (pausing), bit0 (high) of XZERO appears on pin 57.
Tick 9: bit1 (low) of XZERO appears on pin 57.
Tick 10: bit2 (low) of XZERO appears on pin 57.
Tick 11: bit3 (low) of XZERO appears on pin 57.
Tick 12: Streamer empty, pin 57 stays low.
Tick 14: WAITXFI resumes
Tick 16, step 6: Second OUTH executes, pin 56 set high.
Tick 18, off-screen: Second OUTL executes, pin 56 reset low.
Added a smartpin to this one. It shows that timings relative to a plain OUT toggle the smartpin takes an extra sysclock tick, and the streamer takes two extra ticks.