table of contents · sudo usermod -a -g dialout user_name ubuntu 14.04 or earlier propelleride is...
Post on 26-Sep-2020
5 Views
Preview:
TRANSCRIPT
0
1
1.1
1.1.1
1.1.2
1.2
1.2.1
1.2.2
1.2.2.1
1.2.3
1.2.4
1.2.5
1.2.6
1.3
1.3.1
1.3.2
1.3.3
1.3.4
1.3.5
1.4
1.4.1
1.4.2
1.4.3
1.5
1.6
2
2.1
TableofContentsIntroduction
UserGuide
GettingStarted
InstallingPropellerIDE
InstallingFTDIDrivers
TheMainWindow
ToolBar
EditorView
CodeCompletion
DocumentationView
ProjectView
KeyboardShortcuts
ProjectArchiveTool
DebuggingTools
Terminal
MemoryMap
HeatMap
Oscilloscope
LogicAnalyzer
LanguageSupport
Spin
PropBASIC
C
Preferences
FrequentlyAskedQuestions
DeveloperGuide
BuildingPropellerIDE
PropellerIDEDocumentation
2
IntroductionPropellerIDEisafun,easy,beautifuleditorforthePropellermicrocontroller.
Codethewayyoulikewithacolorful,customizableeditor.Digdeeperintoyourapplicationswiththebuilt-inmemorymap.SpeakyourPropeller'slanguagewiththeintegratedserialterminal.Findwhatyouneedfastwithsearchableprojectviewandauto-complete.StartcodingrightawaywiththeincludedSpinStandardLibrary.RunsgreatonWindows,Mac,Linux,andRaspberryPi!
PropellerIDEDocumentation
3Introduction
UserGuide
PropellerIDEDocumentation
4UserGuide
GettingStarted
PropellerIDEDocumentation
5GettingStarted
InstallingPropellerIDEPropellerIDEiscurrentlyofficiallysupportedonWindows,Mac,Debian,andRaspbianOS.
First,downloadPropellerIDEforyourplatform.Thenfollowthecorrespondinginstructionstogetstarted.
WindowsPropellerIDEispackagedasaWindowsinstallerthatwillguidetheuserthroughouttheinstallationprocess.
MacOSXPropellerIDEispackagedasaregularDMGimage,somounttheVolumeanddragtheiconintotheApplicationsfolder.
Linux
Ubuntu
PropellerIDErequiresaminimumofQt5.2whichisonlyavailableonUbuntuasof14.04.
AfterdownloadingtheDebianpackageforyourplatform,installitwithdpkg.
sudodpkg-ipropelleride-(version)-amd64.deb
Itwillcomplainaboutdependenciesatwhichpointyoucanrunapt-gettofixthem.
sudoapt-getinstall-f
MakesureyouinstalltheFTDIdrivers!
sudoapt-getinstalllibftdi1
Addyourselftothedialoutgroupsoyoucanusetheserialport.
PropellerIDEDocumentation
6InstallingPropellerIDE
sudousermod-a-GdialoutUSER_NAME
Ubuntu14.04orearlier
PropellerIDEisknowntobuildinUbuntuversionsasoldas12.04,butdoingsowilltakesomework.
AddtheUtopicUnicornsourcestoyour/etc/apt/sources.list.
debhttp://cz.archive.ubuntu.com/ubuntuutopicmain
Runanupdatetoensureyouraptrepositoriesareup-to-date.
sudoapt-getupdate
RaspberryPi-RaspbianWheezy
Qt5isnotavailableinthestandardrepository,butyoucanobtainitfromDebianbackports.
Addthefollowingentriesto/etc/apt/sources.list.
debhttp://twolife.be/raspbian/wheezymainbackports
deb-srchttp://twolife.be/raspbian/wheezymainbackports
Addtherepositorykey.
sudoapt-keyadv--keyserverkeyserver.ubuntu.com--recv-key2578B775
UpdateandinstallQt5anditsdependencies.
sudoapt-getupdate
sudoapt-getinstallqt5-defaultqt5-qmakelibegl1-mesalibgles2-mesa
PropellerIDEDocumentation
7InstallingPropellerIDE
InstallingFTDIDriversInthistutorialwewillwalkyouthroughinstallingtheFTDIUSB-to-Serialdriver.ThisisrequiredtousethePropelleronallwiredplatforms.
WindowsHeadovertotheFTDIwebsite,andscrolldowntothechartunder"VCPDrivers"andselectthedownloadaccordingtoyouroperatingsystem.
Selectthemostrecentversionandstartthedownload(eitherwilldownloadthesamezippedfile).
Afterdownloadfinishes,openthezippedfile.Thisfilewillcontainbothexecutablesfor32-and64-bitprocessors.Selecttheoneyourcomputerruns(dpinst-amd64for64-bitanddpinst-x86for32-bit).
PropellerIDEDocumentation
8InstallingFTDIDrivers
Click"ExtractAll"whenawindowpopsuptoextractthefiles.
Click"Extract"intoadestination.Anotherwindowwillpopupcontainingfiles.
PropellerIDEDocumentation
9InstallingFTDIDrivers
Inthispoppedupwindow,doubleclickonthesameexecutablefrombefore.Remembertoclick""Yes"toallowtheprogramtomakechangestoyourcomputer.
PropellerIDEDocumentation
10InstallingFTDIDrivers
Followtheinstructionsuntilinstallationiscompleted.
LinuxOnDebian,openaterminalandusethe"apt"packagemanagertoinstalltoyoursystem.
PropellerIDEDocumentation
11InstallingFTDIDrivers
sudoapt-getinstalllibftdi1
OnFedora,usethe"yum"packagemanager.
sudoyuminstalllibftdi
PropellerIDEDocumentation
12InstallingFTDIDrivers
TheMainWindow
PropellerIDEDocumentation
13TheMainWindow
ToolBar
File
New
Createsanewfile.
Open
Opensanexistingfile.
Save
Savesthecurrentfiletodisk.
SaveAs
Savesacopyofthecurrentfileunderanewname.Theoriginalfileisnotsaved.
Project
ArchiveProject
Buildsanarchiveofthecurrentproject.
BuildProject
Compilesthecurrentprojectwithoutdownloadingit.
RunProject
Compilesanddownloadsittothecurrentlyselectedboard.
PropellerIDEDocumentation
14ToolBar
WriteProject
Compilestheproject,downloadsittotheboard,andwritesittotheboard’sfirstEEPROM.
DeviceSelector
Selectsthetargetdownloaddevicefromanyavailabledevicesconnectedtothesystem.
Debugging
MemoryMap
OpenstheMemoryMapwidget.
Terminal
OpenstheTerminalwidget.
PropellerIDEDocumentation
15ToolBar
EditorView
PropellerIDEDocumentation
16EditorView
CodeCompletionWithPropellerIDE,youcancompletecodefromthecurrentfileoranotherfileinthepathinthemainfile’sdirectoryoradirectoryinthelibrarypath.
Thefollowingcompletionsaresupported.
Publicfunctions
Constants
CompletingFromTheCurrentFileAsofv0.36.7,PropellerIDEsupportscompletingwithinthecurrentfile.
Typing#bringsupalistofconstants.
Typing.bringsupalistoffunctions.
PressEsctoquitwithoutcompleting.PressEnterorReturntoacceptthecompletion.
Completingaconstantfromthecurrentfile.
CompletingFromAnotherFileYoucanalsocompletecodefromanotherfile.
Typingthealiasofanobject[1],then#opensalistofconstants.
Typingthealiasofanobject,then.opensalistoffunctions.
Aswithbefore,Escquits,EnterorReturnaccepts.
PropellerIDEDocumentation
17EditorView
Completingafunctionfromanotherfile.
1e.g.wherewedeclareanobjectkbd:"Keyboard",thealiasiskbd.
PropellerIDEDocumentation
18EditorView
ProjectView
PropellerIDEDocumentation
19ProjectView
KeyboardShortcuts
BasicShortcuts
EditingShortcuts
Ctrl+Z Undo
Ctrl+Shift+Z Redo
Ctrl+X Cut
Ctrl+C Copy
Ctrl+V Paste
Ctrl+A Selectall
ViewControls
Ctrl++ Increasefontsize
Ctrl+- Reducefontsize
Ctrl+X Cut
Ctrl+C Copy
Ctrl+V Paste
Ctrl+A Selectall
ProjectControls
PropellerIDEDocumentation
20KeyboardShortcuts
F8 Openmemorymap
F9 Compilecurrentprogram
F10 Runcurrentfile
F11 Writecurrentfile
F12 Openterminaloncurrentdevice
TabControls
Ctrl+T Createanewfile
Ctrl+Shift+T Createanewfilefromatemplate
Ctrl+W Closethecurrenttab
Ctrl+PgUp Gotoprevioustab
Ctrl+PgDn Gotonexttab
PropellerIDEDocumentation
21KeyboardShortcuts
DebuggingToolsYoujustwroteanawesomeprogram,yousitdowntotestitout,youcrossyourfingers,drippingwithanticipation,and…itdoesn’twork.
Agh!Whatafrustratingmoment!
Luckily,PropellerIDEcanhelp.Ithaslotsofbuilt-intoolstohelpyoupinpointwhereyouwentwrong.
PropellerIDEDocumentation
22DebuggingTools
TerminalPropellerIDEhasabuilt-inserialterminalyoucanusetodebugyourPropellerprograms.
Therearenorestrictionsonthenumberofterminalsthatcanbeopenatatime,evenonthesamedevice,andsoftwarecanbedownloadedtoattacheddeviceswithoutdisconnectingterminalsfirst.
ToolBar
ActiveLight&Button
WhenthelightisgreenandActiveispressed,thedeviceisconnectedandreadytosendandreceivedata.
PropellerIDEDocumentation
23Terminal
Whentheterminalisdisconnected,itgoesblackandwillstopreceivingdataandrespondingtokeypresses.
Reset
Sendsahardwareresettotheboard.
Clear
Clearsalltextfromtheconsoleandsetsthecursorbacktothetopleft.
Device
Thenameofthedevicethisterminaliscurrentlyattachedto.Thislistofdevicesvariesdependingonyourplatform,butgenerallyspeaking,theylookasfollows:
Serialdevices:
PropellerIDEDocumentation
24Terminal
Windows COM1,COM2,…
Linux ttyUSB0,ttyUSB1,…
Mac cu.usbserial-…
Wifidevices:
notyetavailable
BaudRate
Therateoftransmissiontotheboard.Typeinthebaudrateyouwant,orclickthearrowtoselectfromthefollowingbaudrates:
9600,19200,38400,57600,115200,230400,460800,921600
Thedefaultbaudrateis115200.
Echo
Whenechoisenabled,everythingyoutypewillbecopiedtotheconsole,inadditiontobeingsenttothedevice.Somesoftwareexpectsechotobeenabled,whileotherssendthedatabacktotheconsolethemselves,whichwillresultinduplicatedtext.
Trytogglingthisfeatureifyourapplicationisn’tbehavinghowyouwantitto.
Rx/TxLights
Theselightsindicatewhendataisreceivedorsent.Redisreceived,blueissent.
InputTherearetwowaystoinputtext
Throughtheconsoleitself
Throughtheinputlineatthebottomofthewindow
Console
PropellerIDEDocumentation
25Terminal
Usingtheconsoleisrecommendedwhenthetargetdevicesupportsamoreadvancedcommand-lineinterface,asitwillallowyoutotakeadvantageofthingslikereadlinecapabilities,cursorpositioning,etc.
PressingtheEnterorReturnkeysendsasinglenewline(ASCII10)tothedevice.
InputLine
Forsimplerinterfaces,theinputlineisabetterchoice.
PressingtheEnterorReturnsendsthetextwithoutnewline.PressingtheSendbuttonsendsthetextplusasinglenewline.
ParallaxSerialTerminalCompatibilityThefollowingASCIIcharactersimplementbasicterminalcompatiblewiththeoriginalPropellerTool’sserialterminal.
PropellerIDEDocumentation
26Terminal
16 ClearScreen
11 CleartoEndofline
1 Homecursor
2 PositionCursorinx,y
14 PositioncursorinX
15 PositioncursorinY
13 NewLine
10 LineFeed
3 MovecursorLeft
4 MovecursorRight
5 MovecursorUp
6 MovecursorDown
9 Tab
8 Backspace
PropellerIDEincludesacorrespondingcom.serial.terminalobjectthatimplementsthesecontrolcharacters.
PropellerIDEDocumentation
27Terminal
LanguageSupport
PropellerIDEDocumentation
28LanguageSupport
Spin
PropellerIDEDocumentation
29Spin
Preferences
AppearancePropellerIDEcanbethemedtosuityourpreferenceintheAppearancetab.Clicktoselectfromadrop-downofthemesormonospacefonts,ordouble-clickononeofthecolorswatchestoopenacolorpicker.
ChangestotheappearancewillpropogateinstantlythroughouttheIDE.
ClassicTheme
PropellerIDEprovidestheClassicthemeforcompatibilitywiththeoriginalPropellerTool.ItsupportsthelegacyParallaxfontwiththeproprietaryPropellercharactermapping.
Warning
TheParallaxfontisdeprecatedTheproprietarycharactermappingisnotportableandisonlyprovidedforlegacysupport.ConsidertheuseofastandalonediagrammingtoolorplainASCIIforcreatingin-sourcediagrams.
PropellerIDEDocumentation
30Preferences
LanguagesPropellerIDEsupportsmultiplelibrarypathstobesearchedfromtoptobottom.
Note Thisisstillanin-progressfeature.
PropellerIDEDocumentation
31Preferences
Editor
AutocompletionTogglescodecompletion
PropellerIDEDocumentation
32Preferences
FrequentlyAskedQuestions1. WhatisPropellerIDE?
AmoderneditorfortheParallaxPropeller.
PropellerIDEDocumentation
33FrequentlyAskedQuestions
DeveloperGuide
PropellerIDEDocumentation
34DeveloperGuide
BuildingPropellerIDEThefollowingdependenciesareneededtobuildPropellerIDE:
Qt5.3orlater
PropellerIDEhasbeenbuiltonthefollowingplatforms:
Windows(Vista,7,8)
MacOSX(10.6onward)
Ubuntu(12.04onward)
RaspbianOS
pcDuino
PropellerIDEhasbeenbuiltwiththefollowingcompilertoolchains:
GCC
MinGW-x64
Clang
MSVC
GettingthesourceCheckouttheprojectanditsdependencies.
gitclone--recursivehttps://github.com/parallaxinc/PropellerIDE.git
Buildingtheexecutable
Usingqmake
PropellerIDEcanbebuiltfromthecommand-lineusingqmaketogeneratemakefiles.
PropellerIDEDocumentation
35BuildingPropellerIDE
cdPropellerIDE
qmake
Ifyouhavemadechangestothe.profiles,remembertouse-rtoupdateallmakefiles,notjustthecurrentone.
qmake-r
UseMaketobuildtheproject.OnmostLinuxes,GNUMakeisubiquitous.PropellerIDEsupportsparallelbuilds,somakesuretospecifythenumberofjobswith-j.
make-j16
Themakefilessupportstandardmakefiletargets:makecleanremovesobjectfiles,makedistcleanremovesobjectfilesandmakefiles.
Windows
YouwillneedtodownloadQt5fromtheQtwebsite.YouwillalsoneedInnoSetuptobuildtheWindowsinstaller.
https://www.qt.io/download/
http://www.jrsoftware.org/isinfo.php
QtisdistributedwitheitheraMinGWorMSVCtoolchainonWindows.BesuretoaddthepathstothetoolchainandInnoSetuptothesystemenvironment.
C:\Qt\Tools\mingw482_32\bin;C:\Qt\5.3\mingw482_32\bin;C:\ProgramFiles(x86)\InnoSetup5
TheMinGWtoolchainispainfullyslow,butyoucanbuildwithmingw32-make,whichsupposedlysupportsparallelbuildsbutisslowasadoganywaysoitmakeslittledifference.
mingw32-make
Ifyou’vedecidedtoinstallVisualStudio,you’llhaveaninstanceofnmake.YoucanenableparallelbuildsbysettingtheCLenvironmentvariable,whichwillspeedthingsupconsiderably.
PropellerIDEDocumentation
36BuildingPropellerIDE
setCL=/MP
Thenstartthebuild.
nmake
UsingQtCreator
PropellerIDEmayalsobebuiltwithQtCreator,butitshouldbenotedthatQtCreatorandqmakebuildsseemtobeincompatiblewitheachother,somakedistcleanshouldbecalledbeforeswitchingbetweenthem.
UsingCMake
InstructionsonCMakebuildsarenotyetavailable.
PackagingForreleasePropellerIDEisdistributedinstandalonepackagesusingpackthing,anopensourcepackagingtoolavailableonGitHubordownloadableviathePythonPackageIndex.
ViaGitHub:
gitclonehttps://github.com/lamestation/packthing
cdpackthing
pipinstall-rrequirements.txt
pythonsetup.pyinstall
ViaPyPI:
pipinstallpackthing
PropellerIDEDocumentation
37BuildingPropellerIDE
top related