table of contents · sudo usermod -a -g dialout user_name ubuntu 14.04 or earlier propelleride is...

Post on 26-Sep-2020

5 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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