BlueBoard Blåtandstangentbord till PalmV

Storlek: px
Starta visningen från sidan:

Download "BlueBoard Blåtandstangentbord till PalmV"

Transkript

1 BlueBoard Blåtandstangentbord till PalmV Tobias Vesterlund Pedagoggränd 1A-110, SE Umeå, Sweden Phone: +46 (0) (0) Sammanfattning I och med att handdatorers prestanda ökar, blir behovet av att kunna skriva in mycket text också större, mer än vad som är möjligt med ett virtuellt tangentbord eller textigenkänning. För att inte begränsa mobiliteten med kablar, så är ett trådlöst tangentbord att föredra. Detta projekt är inriktat på att utveckla en tangentbordsprototyp för en PalmV handhållen dator genom att använda Blåtandsteknologin. Blåtand är en standard för korthållskommunikation med mobila och/eller fasta enheter. Denna uppsats introducerar läsaren till Blåtand och Palms operativsystem. Lösningar till problem som till exempel att nå Blåtandsenheten från alla applikationer, presenteras. Arbetet fokuserades på att programmera en drivrutin på Palm och på Blåtandskommunikationen. Resultatet är en fungerande, icke fristående tangentbordsprototyp. Klientprogramvara kan lätt överföras till andra enheter.

2 Abstract The increase of process power in handheld computers implies a greater need to input text. The available input methods are slow and requires learning time. To increase mobility, a wireless keyboard is to prefer. This project aims to develop a keyboard prototype for the PalmV handheld computer using the Bluetooth technology. Bluetooth is a standard for short range wireless communication between mobile and/or stationary devices. This paper introduces the reader to Bluetooth and the Palm operating system, it also solves problems such as accessing the Bluetooth module from all applications. The main focus is coding the driver on the Palm and the Bluetooth communication. The result is a functional, nonstandalone keyboard prototype. The client driver is easily ported to other devices. 2

3 1. Inledning Bakgrund Problembeskrivning Metodbeskrivning Blåtand Nätverkstopologi Lager Radiogränssnittet Basbandsgränssnittet LMP "Link Manager Protocol" HCI - "Host Controller Interface" L2CAP "Logical Link Control and Adaption Protocol" Säkerhet SDP - "Service Discovery Protocol" Blåtand, ett praktiskt exempel Palm Bakgrund Skillnader mot PC Viktiga delar Minnesarkitektur Händelser Seriekommunikation Grafiskt användargränssnitt Genomförandebeskrivning Seriekommunikation Palm PC Blåtand Palm OS Portning PC till Palm

4 Diverse Musfjärrkontroll PC Programmeringstekniska detaljer Körning av funktion oavsett applikation Teckenpaket Data Manager Resultat Diskussion Blåtand Undervisningsmöjligheter Tangentbord redo för uppkoppling? Skall tangentbordet vara ständigt uppkopplat? Hur skall pairing av enheter ske? Palm OS Problem vid patchning av operativsystemet Kommunikation med användaren utanför den egna applikationen Utökad uppgift: Fristående tangentbord Slutsatser Tack

5 1. Inledning Det här examensarbetet utfördes under hösten 2000 på företaget Tritech Mobile Applications (tidigare Tritech Wireless) i Solna, Stockholm. Uppgiften går ut på att konstruera ett trådlöst tangentbord till en handdator, i det här fallet en PalmV Bakgrund Till många av dagens handdatorer har man på grund av krav på vikt, storlek och batteritid valt bort möjligheten att mata in text med hjälp av ett vanligt tangentbord. I stället sker textinmatning med ett virtuellt tangentbord eller med hjälp av teckentolkning på datorns tryckkänsliga skärm. Detta fungerar tillfredsställande i många lägen, till exempel vid inmatning av adressuppgifter och bokning av möten. I och med att prestanda och lagringskapacitet på handdatorer ökar skulle de också kunna användas till tyngre uppgifter och i vissa lägen kunna ersätta en bärbar dator. Om det är stora mängder text som skall matas in skulle detta underlättas mycket med ett riktigt tangentbord. Samtidigt som man önskar använda ett vanligt tangentbord vill man inte begränsa mobiliteten med fysiska anslutningar. Detta leder till behovet av en trådlös förbindelse, det är här Blåtand kommer in i bilden. Blåtand är en ny teknik för radiobaserad trådlös kommunikation mellan mobila och/eller fasta enheter inom små avstånd, 0-10 meter. Teknologin använder sig av det olicensierade 2.45GHz bandet, målet är att Blåtand skall bli en global standard. Bland grundarna finner man Ericsson, IBM, Intel, Nokia och Toshiba [EBDK99]. Framtiden för Blåtand ser ljus ut, marknadsundersökningar visar att vid år 2006 kommer 60% av alla nyckelelektronik-produkter vara mobila. Blåtand förutsägs inbringa mellan miljarder dollar (ca miljarder kronor) år 2004 [TCBT00]. Detta gör att Tritech vill lära sig mer om Blåtand och dess möjligheter. Denna rapport inleds med en problembeskrivning och metodbeskrivning i kapitel 2 och 3. Därefter följer i kapitel 4 en grundläggande genomgång av hur Blåtand fungerar. Kapitel 5 tar upp skillnader mellan Palm och PC och några andra viktiga detaljer för detta projekt. Därefter följer en genomförandebeskrivning på ganska hög nivå. I det avsnittet tas några av de problem som uppstod under projektets gång upp. Kapitel 7 behandlar lösningen till dessa problem mer detaljerat. Kapitel 8 beskriver resultatet. Efter det följer ett diskussionskapitel där några speciella frågeställningar tas upp. Därefter följer slutligen 5

6 slutsatser av utfört arbete, lite mer om vad som återstår att göra samt rekommendationer för framtiden. 6

7 2. Problembeskrivning Uppgiften består i att ta fram en prototyp på ett system som omvandlar tangenttryckningar från ett vanligt tangentbord till Blåtandspaket, som skickas trådlös till mottagarsidan, en PalmV. Palmen omvandlar paketet till vanliga tangenttryckningar och skickar dessa till sitt operativsystem. PC Serie palm Tangentbord Blåtand Blåtand Serie Figur 2.0: Prototypuppsättning Arbetet delas med fördel upp i två deluppgifter, som i sin tur kan delas upp i mindre delar. I grunduppgiften, den första deluppgiften, är det lämpligast att använda en vanlig persondator för att ta emot tangenttryckningar från tangentbordet (se Figur 2.0). Förutom att ta emot tecken från tangentbordet ansvarar programmet i persondatorn även för att starta en Blåtandsuppkoppling mot mottagarsidan, paketera tecknen och skicka iväg dem. Kommunikationen mellan dator och Blåtandsenheten sker seriellt. På den andra sidan kommunicerar Palmen via Blåtandsenheten, även den seriellt. Programmet i Palmen initierar Blåtandsuppkopplingen och tar emot paket som den andra sidan skickat, tar fram tecknen som skickats och skriver ut dem i textfältet i programmet som är aktivt. 7

8 Tangentbord Blåtand Blåtand Palm Serie Anpassad hårdvara Serie Figur 2.1: Utökad uppgift I den utökade uppgiften införskaffas anpassad hårdvara med tangentbordsingång samt RS232 gränssnitt (se Figur 2.1). I den utökade version av uppgiften tillkommer att skriva tangentbordsdrivrutiner. Största kraften i detta projekt kommer att läggas på första deluppgiften, eftersom tiden antagligen inte räcker till för den utökade uppgiften. Den inledande versionen kan delas in i olika mindre steg: 1. Skicka tecken seriellt från PCn till Palm, så att de skrivs ut i mottagarprogrammet. 2. Skriva ut tecknen som tas emot på Palmen i det program som körs för närvarande, istället för det egenhändigt skriva mottagarprogrammet. 3. Få igång en blåtandsuppkoppling mellan två persondatorer. 4. Få igång en blåtandsuppkoppling mellan en persondator och Palmen. 5. Färdigställa det kompletta programmet. Förutom detta tillkommer steg såsom rapportskrivning. För att genomföra uppgiften kommer jag att återanvända vissa delar av mjukvaran från ett tidigare examensarbete skrivet av Rebenius och Andersson [KA00]. De har implementerat HCI (4.2.4 HCI - "Host Controller Interface ) i C, samt delar av L2CAP (4.2.5 L2CAP "Logical Link Control and Adaption Protocol ). 8

9 3. Metodbeskrivning För att lösa uppgiften så smidigt som möjligt valdes att dela upp den i mindre delar som tidigare nämnts. Inledningsvis så behövdes en stor del inläsning, svårigheten låg mest i att veta vilka delar av den 1082 sidor tjocka Blåtandsspecifikationen som skulle läsas. Det visade sig att det mest intressanta för detta projekt var basbands- och HCI-lagren (Se 4 Blåtand). Val av programmeringsspråk visade sig inte vara speciellt svårt. Två teknologer på Tritech hade tidigare skrivit en egen Blåtandsstack i C. C finns även för Palm OS och det underlättar mycket då koden skulle portas från PC till Palm, därför föll valet av programmeringsspråk på C. Det finns kommersiella Blåtandsstackar att köpa, fast de är mycket dyra och passar ej ett examensarbete av den här storleken. Under projektets gång visade det sig att bland annat företaget Axis utvecklar en open source - kodsblåtandsstack under GPL-avtalet ( GNU Public Lisence ). Detta betyder att källkoden är öppen och fri för vem som helst att använda. En nackdel är att om man portar den till Palm måste den ändrade källkoden släppas fri till alla, vilket kan medföra konkurrensnackdelar. En annan nackdel är att Axis Blåtandsstack omfattar hela stacken, inkluderat de övre lagren. Stacken som teknologerna på Tritech gjort innefattar enbart de viktigaste och nödvändigaste funktionerna, vilket gör det lättare att porta till Palm OS eftersom det kräver mindre arbete. För större (kommersiella) projekt måste man dock diskutera vilken typ av Blåtandsstack som lämpar sig bäst för just det projektet. Som utvecklingsmiljö på Palmen valdes CodeWarrior, detta eftersom den har en inbyggd debugger, en emulator och en dra-och-släpp avdelning för att bygga användargränssnitt. Vidare fanns redan kunskap om CodeWarrior inom Tritech vilket underlättade projektets genomförande. Innan programmeringen påbörjades fanns relativt klara planer om vad som skulle utföras rent praktiskt vid användandet av tangentbordet. Tanken var att användaren skulle starta en Palmapplikation, som kopplar upp sig mot tangentbordet, och sedan bara använda tangentbordet som vanligt. Eftersom det var känt att bara en applikation åt gången kan köras i Palmen måste läsningen från serieporten lösas med interrupt eller pollning. Interrupt är att föredra eftersom det kräver mindre kapacitet av processorn. Tanken till 9

10 en lösning var att så fort något kommer in på serieporten, anropas den egna funktionen som packar upp Blåtandspaketet, och skriver ut det i aktivt fält i aktivt applikation. Under projektets gång visade det sig att ett flertal problem måste överkommas, och vissa kompromisser måste göras för att få allt att fungera tillfredsställande. Mer om detta efter en genomgång av Blåtand och Palm OS. 10

11 4. Blåtand När mobila enheter blir mindre, smartare och kan utföra fler saker, ökar behovet av att på ett enkelt sätt kommunicera med andra enheter. Som det varit hittills har en mängd olika sätt att överföra information funnits. När man väl funnit det rätta sättet, måste mjukvarorna i de två enheterna kommunicera. Det har kort och gott varit ganska omständigt. I många fall har det varit i stort sett omöjligt att koppla upp sin PDA (Personlig Digital Assistent) mot till exempel nätverket på jobbet. Seriell överföring (RS232) har funnits länge, men är långt ifrån en standard och kräver kablar. IrDA, som använder sig av infraröd teknik, klarar hög överföringshastighet och är trådfritt, men kräver fri sikt och klarar bara punkt-till-punkt uppkopplingar. Det är här Blåtand kommer in. Blåtand arbetar med radio på en våglängd av GHz som finns tillgängligt över hela världen. Den har konstruerats med robusthet, låg komplexitet, låg effekt och låg kostnad i tanke. Till en början ligger priset på ungefär 20 dollar, men beräknas minskas till ungefär 5 dollar per enhet. Enheten i sig är liten och kommer att kunna byggas in i de flesta enheter som kommer att använda sig av den. På grund av den låga uteffekten och höga våglängden är avståndet begränsat till 10 meter (100 meter med högre uteffekt). Radiovågorna stoppas även av väggar och tak. Idén med Blåtand är att man på kort håll skall få en hög, säker överföring. Exempel på användningsområden är att man med sin laptop kan komma ut på Internet utan att behöva plocka upp telefonen ur väskan. Hörlurar, digitala kameror, skrivare, PDAer och faxar hör till andra givna användsområden. Binär FM-modulation används för att minska komplexiteten i radiodelarna. Standarden använder sig av frekvenshoppning, vilket betyder att ett paket data sänds, sedan byts frekvens varvid nästa paket skickas, frekvensen byts, ytterligare ett paket skickas, och så vidare (mer om detta i Fysisk kanal). Blåtandsprotokollet använder sig av en kombination av kretskopplad och paketväxlad kommunikation. Upp till tre synkrona röstkanaler kan köras samtidigt, alternativt en kanal som samtidigt stöder en asynkron datakanal och en synkron röstkanal. Varje röstkanal stödjer 64Kbit/s synkron överföring i vardera riktning. Den asynkrona kanalen stödjer upp till 723.2Kbit/s asymmetriskt (åt ett håll, trots detta går det att köra 57.6Kbit/s åt andra hållet), eller Kbit/s symmetriskt. 11

12 Följande avsnitt kommer att ta upp hur kommunikationen mellan Blåtandsenheter fungerar. Andra saker som kommer att tas upp är vissa viktiga paketstrukturer, och vissa arkitektuella delar. Röstöverföring är utanför denna rapports täckning och kommer därför bara att tas upp översiktligt Nätverkstopologi Blåtandssystemet tillhandahåller punkt-till-punkt uppkoppling (bara två enheter inblandade), eller multi-punkt uppkoppling, se Figur 4.0. I en uppkoppling med bara två enheter agerar den ena enheten master, och den andra slav. Normalt är det enheten som tar initiativ till uppkopplingen som blir master. I multi-punkt uppkopplingen är kanalen delad mellan ett flertal Blåtandsenheter. Två eller flera Blåtandsenheter bildar ett Piconät. I ett Pico-nät kan upp till sju slavar vara aktiva samtidigt. Förutom detta kan dock många fler slavar vara låsta mot mastern i ett så kallat Parkläge ( Parkläge). Om flera Pico-nät överlappar varandra formas något som kallas ett scatternet. Varje Pico-nät kan bara ha en master, men en slav kan vara delaktig i flera Pico-nät samtidigt med hjälp av tidsdelning, det vill säga att lika stor del av tiden reserveras till vardera nät. En logisk följd vid denna tidsdelning är en något sämre prestanda i vardera näten. Förutom att en slav kan vara med i flera nät, kan varje master även vara slav i ett annat nät samtidigt. Varje Pico-nät har sin egen hoppkanal. I den nuvarande specifikationen finns det bara stöd för punkt-till-punktuppkopplingar. Figur 4.0: Pico-nät med enkel-slav (a), multi-slav (b) och scatternet (c) 12

13 4.2. Lager Blåtand är uppdelad i olika lager, där nedersta lagret motsvarar radiokommunikationen och det översta mer applikationsnära lager, till exempel TCP/IP, Se Figur 4.1. Vissa lager är av mer intresse för denna uppgifts skull än andra, så basbandslagret och Host Controller Interface (HCI) tas här nedan upp mer i detalj. Figur 4.1: Lager och referenser till Blåtandsspecifikationen [SBS99] Radiogränssnittet Eftersom modulation av radiovågor med mera inte av direkt intresse i detta arbete utelämnas denna del helt. Se [SBS99] sid 15 för mer information Basbandsgränssnittet Basbandet är den digitala delen av Blåtandsmodulen. Den kontrollerar en mängd saker såsom: radio, klocka, radio frekvenser, frekvenshopp och hoppsekvens. En genomgång av basbandet följer nedan. 13

14 Fysisk kanal Som tidigare nämnts opererar Blåtand i 2.4 GHz bandet. Trots att frekvensen finns tillgänglig globalt i hela världen skiljer det sig hur mycket bandbredd som finns tillgängligt och exakt var i frekvensområdet den befinner sig. I Europa och USA finns ett band som är 83.5 MHz brett tillgängligt, detta ger 79 stycken kanaler som är separerade med 1 MHz. I andra länder såsom Japan och Spanien är ett smalare band tillgänglig; så att det räcker till 23 radiokanaler 1 MHz separerade. En kanal representeras av en pseudo-slumpad hoppsekvens mellan de 79 (eller 23) radiokanalerna. Hoppsekvensen är som sagt unikt för varje Piconät, och bestäms av adressen som mastern i nätet har. Var i hoppsekvensen man befinner sig bestäms av klockan i mastern. Frekvenshoppen sker med upp till och med 1600 hopp/sekund. Varje kanal är indelade i tidsluckor som är 625µs långa. Varje lucka är numrerade enligt piconetmasterns klocka. Det är i tidsluckorna som mastern och slaven kan överföra paket. Ett Time-Division Multiplex (TDD), tidsmultiplexat system används där mastern och slaven överför i tur och ordning (Figur 4.2). Mastern startar överföringen endast i jämna luckor, och slaven endast i ojämna luckor. Paketet överförs direkt i början av luckan. Figur 4.2: Time Division Multiplex och timing När ett paket överförs måste frekvensen vara densamma under hela paketets längd. Frekvensen som används fås från masterns klocka. Om man har ett längre paket kan det vara nödvändigt att använda flera tidsluckor efter varandra, frekvensen för de upp till fem 14

15 tidsluckorna (max antal luckor enligt specifikationen), bestäms av masterns klocka i den första tidsluckan. Se Figur 4.3 för en illustration av hur paketöverföringen sker och hur det ser ut med multitidsluckepaket. Figur 4.3: Singel och multitidsluckspaket Fysiska länktyper Det finns två typer av länkar (det vill säga typer av uppkopplingar): Synchronous Connection-Oriented (SCO) link Asynchronous Connection-Less (ACL) link Den förstnämnda är en synkron kopplingsorienterad uppkoppling, och den andra är asynkron ickekopplad uppkoppling. Man skulle kunna jämföra SCO med ett telefonsamtal, man ringer upp en person, och linjen är helt reserverad för samtalet. ACL kan jämföras med pakettrafiken över Internet; man har ingen ständig uppkoppling utan överföring sker med hjälp av paket som sätts ihop på mottagarsidan. Många kan dela på samma linje med hjälp av tidsdelning. Synchronous Connection-Oriented link SCO länken är symmetrisk mellan en master och en slave och den reserverar tidsluckor för överföringen. Detta garanterar att paket kommer fram vid rätt tidpunkt, vilket är viktigt i realtidsapplikationer, som till exempel talöverföring. SCO paket blir dock aldrig omsända, så det finns ingen garanti att de kommer fram korrekta. 15

16 En slave kan samtidigt ha tre stycken SCO länkar till samma master, alternativt två SCO länkar om de kommer från två olika masters (Figur 4.4). Figur 4.4: Max antal SCO(audio)-uppkopplingar Eftersom SCO länkar inte används i det här projektet kommer de inte närmare diskuteras. Se [SBS99] kapitel 3.2 sid för mer detaljerad information. Asynchronous Connection-Less link I tidsluckor som inte är reserverade av SCO länkar kan mastern utväxla paket med slaven. Det kan bara finnas en ACL länk mellan en master och en slave åt gången. För de flesta typer av ACL paket används återsändningar för att garantera en felfri överföring. En slav kan bara skicka paket till mastern i slav-till-master tidluckorna, och enbart om den har blivit adresserad i föregående master-till-slav tidlucka. Om slaven misslyckas med att avkoda slavadressen i pakethuvudet i paketet från mastern (till exempel på grund av fel i överföringen), så får den inte skicka. Om mastern i ACL länken inte behöver skicka några paket, så skickar den emellanåt POLL paket, detta bland annat för att kolla om slaven har något att sända. ACL paket som inte är adresserade till en specifik slav är så kallade broadcast paket, det vill säga att de är adresserade till samtliga slavar som är uppkopplade. Slavar får inte returnera något paket om mastern skickar ut ett broadcast meddelande (Ett undantag finns, se [SBS99] kapitel , sid 115) Basbandspaketen All data i Blåtand skickas i paket. För att förstå Blåtand i stort är det inte absolut nödvändigt att förstå hur paketen är uppbyggda, men för de som är intresserade går det att läsa om detta i Bilaga B: Basbandspaketen ACL pakettyper För att klara av olika förhållanden och Quality of Service (QoS) har sju olika ACL-paket definierats. Dessa kan användas för att bära data eller kontrollinformation. Sex av de 16

17 olika pakettyperna inkluderar CRC 1 kod för felkontroll, enbart AUX1 paketet har inte det och är därmed det enda paket som inte skickas om vid fel. Pakettyp Antal tids- Nyttolast FEC 2 Symmetrisk Max. Asymmetrisk Max. hastighet Overhead 3 I (%) luckor (bytes) hastighet (Kb/s) (Kb/s) Framåt Bakåt DM / DH No DM / DH No DM / DH No AUX No Tabell 4.0: ACL paket DM står för Data - Medium rate. DM1-paketet överför enbart data. Den innehåller upp till 18 byte användardata (inklusive en byte för nyttolast-huvudet) plus en 16 bitars CRC kod. Informationen (användardatat) och CRC-koden är kodad med 2/3 FEC ( Felkorrigering), och det blir därmed lite mer overhead (ej nyttig information). Fördelen är att om någon information skulle försvinna i överföringen på grund av någon störning, så finns det möjlighet att få tillbaka den genom FEC kodningen. DH står för Data High rate, och skillnaden gentemot ett DM paket är att nyttolasten inte är FEC kodad och den kan därmed överföra mer nyttig data. Siffran efter DM och DH anger hur många tidsluckor som paketet tar upp. Hur mycket nyttig data varje pakettyp kan överföra kan man se i Tabell 4.0. Förutom ovanstående paket finns det även SCO paket, se [SBS99] kapitel 4.4.2, sid Observation Feltoleransen i Blåtand (Bit Error Rate, BER) är viktig att ha i åtanke då man designar ett Blåtandssystem. Enligt specifikationen ska BER vara <= 0.1% ([SBS99] kapitel 4.2, sid 24) på högsta avståndet (Naturligtvis kan BER vara mindre än 0.1% trots att det är maximivärdet i specifikationen). Som tidigare nämnts finns det olika typer av paket, till exempel DH3 eller DH5, som innehåller ca 1500 respektive 2700 bitar. Med en BER på 1 Cyclic-Redundancy-Check, metod för att upptäcka fel 2 FEC: "Forward Error Correction", Felkorrigering 3 Antalet extra bitar delat med det totala antalet bitar för paketet. 17

18 0.1%, det vill säga att en av tusen bitar är felaktigt överförd; konsekvensen blir att dessa paket kommer att skickas om i all oändlighet. Botemedlet mot detta problem är givetvis att använda sig av mindre paket, eller ha mycket goda radioförhållanden Gemensamma pakettyper Fyra pakettyper är gemensamma för både ACL och SCO: ID, NULL, POLL och FHS. ID NULL POLL FHS ID paketet används till exempel vid paging, inquiry och svarsrutiner NULL paketet har ingen nyttolast, det används till att överföra information om flödeskontroll (FLOW) och felhantering (ARQN). Om en slav får ett POLL paket måste den svara i nästföljande tidslucka. Detta paket blir en implicit bekräftning av POLL paketet. Paketet kan används av masters i ett piconät för att polla slavarna även om de inte har någon information att sända. FHS paketet är ett speciellt paket som överför bland annat Blåtandsadressen och klockan på sändaren. Det används vid uppstart för att mastern och slaven skall få igång en kommunikation på samma frekvenser. Tabell 4.1: Gemensamma pakettyper Felkorrigering Det finns tre olika typer av felkorrigering i Blåtand: 1/3 FEC (Forward-Error-Correction) 2/3 FEC ARQ för data FEC Syftet med FEC kodningen är att minska antalet omsändningar. Om förhållandena är goda är FEC ibland inte nödvändigt, därför finns DH-paketen som inte har FEC kodning. Pakethuvudet är dock alltid skyddat med en 1/3 FEC kodning, detta på grund av att den innehåller viktig länkinformation och därför behöver extra skydd. Den enklaste FEC kodningen är 1/3, den fungerar helt enkelt så att varje bit repeteras 3 gånger. Bit 0 tre gånger, Bit 1 tre gånger, och så vidare. 18

19 2/3 FEC är lite mer komplicerad, det är en (15,10) förkortat Hammering kod. Se [SBS99] kapitel 5.2 sid för mer information om den. ARQ ARQ står för Automatic Repeat Request scheme. DM, DH och DV (SCO paket) har automatisk omsändning genom att använda ARQ. Det fungerar så att alla paket är omsända tills de fått en positiv bekräftelse på att överföringen lyckades, CRC används för att kontrollera om den överförda informationen är korrekt. ARQ schemat fungerar enbart på nyttolasten i paketen Felupptäckt För att undersöka om paket är felaktiga eller fellevererade används Channel Access - koden som finns i basbandspaketet, Header-Error Correction (HEC) (se Bilaga B: Basbandspaketet) i huvudet, eller CRC på nyttolasten. Vid mottagning av ett paket undersöks först accesskoden så att inte paketet är skickat till något annat piconät än det nät enheten befinner sig i. Sedan kollas både HEC och CRC för fel. För mer detaljerad information om HEC och CRC se [SBS99] kapitel 5.4, sid Uppkoppling av Blåtand Stegen för att skapa en Blåtandsuppkoppling kan sammanfattas såhär: 1. Initiering av Blåtandsenheter 2. Inquiryfas upptäckt av enheter inom radioavstånd 3. Uppkoppling, inkluderat Page fas 4. Data och/eller röstöverföring 5. Nedkoppling Av ovanstående steg är det steg 2 och 3 som närmare behöver förklaras. Inquiryfasen Det första steget efter att ha initierat enheterna är att skapa en uppkoppling. Detta sker i inquiryfasen. En enhet som väntar på att bli upptäckt går periodiskt in i något som kallas inquiry scan state, där den lyssnar efter ett inquirymeddelande från någon master. Enheten skannar över 32 olika hoppfrekvenser och när den upptäcker en IAC ( Inquiry Access Code ) kan den svara till mastern som skickat ut förfrågan. Som svar skickar slaven ett FHS-paket som innehåller dess adress och värde på klockan. Mastern skickar ID-paket kontinuerligt över ett antal hoppfrekvenser och skannar efter svar efter varje överföring. Den behöver inte bekräfta de svar den får från slavar (FHS-paketen), utan 19

20 fortsätter skanna efter andra enheter tills dess att det avslutas av Link Managern (tillräckligt många svar inkomna) eller att det blir en timeout. Pagefasen Efter att mastern fått ett Frequency Hop Sequence -paket (FHS) från en slav i inquiryfasen kan en uppkoppling ske. Pagingproceduren är väldigt lik inquiryproceduren. I den här fasen försöker mastern approximera slavens klocka, och använder den för att börja skicka ID-paket som innehåller slavens adress. För att vara säker på att hitta slaven använder mastern en 10 ms långt tåg som består av 16 tidsluckor på olika frekvenser. Tåget innehåller uppskattningen, åtta föregående frekvenser och sju efterföljande frekvenser. Om inte detta skulle räcka läggs ännu ett tåg till, med 16 nya frekvenser, 8 på varje sida av det första tåget för att täcka ett större frekvensomfång än tidigare. Slaven är i sitt Page Scan läge, och lyssnar efter sin Device Access Code (DAC), det vill säga efter en pageförfrågan från mastern. Slaven stannar på en hoppfrekvens i minst 18 på varandra följande tidsluckor när den lyssnar efter sin DAC. Frekvensen den lyssnar på får den fram från sin adress (BD_ADDR) och den lokala klockan. Var 1.28 sekund byter den frekvens. Så fort slaven känner igen sitt eget ID-paket svarar den. Då den svarat skickar mastern ett FHS-paket där slaven får masterns klocka och Blåtandsadress. Efter detta tilldelar mastern en aktiv medlemsadress till slaven, denna adress används i återstoden av kommunikationen. Efter allt detta har skett kan slaven börja hoppa tillsammans med mastern. För mer information se [SBS99] kapitel 10.6, Steg Meddelande Riktning Hoppsekvens DAC och klocka 1 Slave ID Master till Slave Page Slav 2 Slave ID Slave t. Master Page svar Slav 3 FHS Master t. Slave Page Slav 4 Slave ID Slave t. Master Page svar Slav 5 1a paket master Master t. Slave Kanal Master 6 1a paket slave Slave t. Master Kanal Master Tabell 4.2 : Meddelanden under uppstart LMP "Link Manager Protocol" Länkunderhållaren är ansvarig får att sätta upp länkar, samt för säkerhet och kontroll. Link Manager -meddelanden har högre prioritet än användardata och skickas i 20

21 nyttolasten istället för det vanliga datat. Meddelanden mellan länklagren i två enheter filtreras ut i mottagarsidan och skickas inte upp till högre lager. Då Blåtandsenheter är uppkopplade kan de gå in i olika lägen: "activeläge, "holdläge, "sniffläge och "parkläge. Nedan följer en kort förklaring vad de olika lägena innebär, för mer information om dessa se [SBS99] med start sid 113. Mer information om LMP förutom nedanstående finns i [SBS99] kapitel C, sid Activeläge I det aktiva läget deltar Blåtandsenheten aktivt på kanalen. Mastern schemalägger all överföring till slavarna. Aktiva slavar lyssnar i master-till-slave luckorna för att se om de får några paket. Om de inte får något paket kan de vila tills mastern skickar igen. Periodiska överföringar från mastern behövs dock för att behålla synkronisationen på kanalen. Detta går lätt att ordna eftersom det görs på CAC som skickas med i alla paket som är skickade av mastern Holdläge En ACL-länk mellan två Blåtandsenheter kan bli ställda i viloläge för en specificerad tid, mastern skickar då inga ACL-paket under denna tid. Holdläget är bra då enheten vet att den inte kommer att överföra några paket på en relativt lång tidsperiod. Radiomottagaren kan då stängas av för att spara energi. Både master och slav kan tvinga den andra att gå in i holdläge, de kan även begära att den andra enheten skall gå in i läget Sniffläge Om en länk är i sniffläge kan mastern enbart överföra information i snifftidsluckorna. Intervallen mellan sniffluckorna kommer mastern och slaven överens om. Båda enheterna måste komma överens om att gå in i sniffläge, och kan även begära att gå in i det. Detta görs genom att ett speciellt paket skickas mellan enheterna Parkläge Om en enhet inte vill delta i kanalen, men fortfarande vill vara synkroniserad frekvensmässigt (hoppmässigt), kan den placeras i parkläge. Slaven återlämnar sin aktiva medlemsadress men kan åter börja delta i kommunikationen vid speciella fördefinierade tillfällen. Då kommunikationen återupptas får enheten en ny medlemsadress. 21

22 HCI - "Host Controller Interface" HCI-lagret är till för att ge ett gemensamt gränssnitt mot Blåtands hårdvarumöjligheter. I detta projekts fall är Blåtandsvärden en PalmV, transportlagret är RS232 och Blåtandsmodulen är själva Blåtandsenheten innehållande firmware (kod för att styra hårdvaran) samt hårdvara. Se Figur 4.5 Andra högre lager Blåtandsvärd Blåtandsmodul (värdkontroller) L2CAP HCI HCI Link Manager Basband Radio Transportlager (USB, RS232..) Figur 4.5: Blåtands mjukvarustack HCI är ett kommandogränssnitt till basbandets funktioner, link managern och till olika värdkontrollregister. 22

23 Figur 4.6: Bild på de lägre lagren för överföring av data HCI är uppdelad i kommandon och händelser. Normalt skickar värden (övre delen Figur 4.5) ett kommando till värdkontrollern (nedre delen i Figur 4.5), när denne utfört kommandot svarar den med en kommandot utförd -händelse eller motsvarande. HCIdrivrutinen konverterar HCI-kommandona till paket som skickas via underliggande lager till Blåtandsmodulen. HCI-paketen gör att lagret blir oberoende av hur kommandona överförs fysiskt, Blåtandsspecifikationen nämner transportlager för USB, UART och RS När paketen väl anlänt till Blåtandsmodulen konverteras paketet tillbaka till HCIpaket. Dessa paket skickas till HCI Firmware, där kommandona tolkas och utförs. Anledningen till att man har definierat händelser beror delvis på att olika HCIkommandon tar olika lång tid. Om inte en händelse skickas tillbaka blir det timeout, i specifikationen står det att den skall vara en sekund som standard Kommandopaket Som bekant skickas kommandon och händelser mellan värden och värdkontrollern (se Figur 4.7). Kommandopaketet som skickas från Palmen till Blåtandsmodulen har ett visst format, se Figur

24 Figur 4.7: Kommunikationen mellan värd och värdkontroller Figur 4.8: HCI kommandopaket Varje kommando påbörjas med en opkod som är två bytes stor. Denna opkod identifierar varje kommando. Opkoden består av två komponenter, först OpCode Group Field (OGF), denna del specificerar vilken grupp av kommandon som det gäller (till exempel Länkkontroll-kommandon, basbands-kommandon etc.). Nästa del, OpCode Command Field (OCF) specificerar exakt vilket kommando i gruppen det gäller. OGF tar upp sex bitar och resterande tio bitar av opkoden tas upp av OCF. Efter opkoden kommer alla parametrar till kommandot. Till att börja med talar den första byten om hur många bytes totalt som följer i parametrarna, alltså inte totalt antal parametrar, utan hur många bytes dessa tar upp. Blåtandsmodulen måste kunna ta emot kommandon med 255 bytes parametrar, plus det tre byte stora huvudet. Som tidigare nämnts svarar Blåtandsmodulen med en "Command Complete Event" då den utfört ett kommando. Till vissa kommandon som tar lite längre tid att utföra görs dock ej detta, utan istället skickas ett "Command Status Event" tillbaka då utförandet av 24

25 kommandot påbörjats. Detta sker till exempel vid inquiry. Så småningom, då kommandot är utfört, skickas en Command Complete Event för att indikera detta. Varje kommando i HCI finns specificerat i [SBS99] sid med kommandoparametrar, returvärden och tillhörande händelser Händelsepaket Utseendet på ett händelsepaket kan ses i Figur 4.9. Varje händelse identifieras med en händelsekod som är en byte stor och kommer i första segmentet av paketet. Parametrarna i paket är individuellt för varje händelse, alla händelser definieras i [SBS99] sidan Figur 4.9: HCI händelsepaket ACL Datapaket Datapaketet används för att skicka data mellan värden och värdkontrollern, i det här fallet Palmen och Blåtandsmodulen. Hur paketen ser ut kan beskådas i Figur Figur 4.10: HCI ACL Datapaket 25

26 Paketen för att utväxla ljud (till exempel tal), SCO-paket, tas inte upp här, se [SBS99] sid för detta. De första tolv bitarna i paketet används för att unikt identifiera en uppkoppling mellan två Blåtandsenheter. PB-flaggan (Packet Boundary) är till för att indikera om paketet är fortsättningsfragment på tidigare paket, eller om det är det första paketet av ett meddelande från högre lager. Broadcast flaggan (BC) sätts till 00 för att indikera en punkt-till-punkt överföring, 01 betyder att meddelandet kommer att skickas till alla slavar (så kallad "active broadcast"), 10 indikerar att paketet kommer att skickas till samtliga slavar, inklusive de som är i parkläge för närvarande ("Piconet broadcast"). Sista delen av pakethuvudet är två bytes som talar om det totala antalet byte i resterande delen av paketet L2CAP "Logical Link Control and Adaption Protocol" Ett designkrav som fanns då man designade L2CAP var att det skulle medföra lite overhead och vara enkelt. Detta på grund av att enheter med små beräkningsmöjligheter skall kunna använda Blåtand. Man kan identifiera fyra huvuduppgifter för L2CAP: 1. Protokoll multiplexering. L2CAP måste kunna skilja mellan övre lagers protokoll som till exempel Service Discovery Protocol, RFCOMM och telefonikontroll. 2. Segmentering och hopsättning. Eftersom storleken på HCI paketen är begränsade behövs det någon som kan ta isär stora paket till hanterbara enheter vilket är en av L2CAPs uppgifter. 3. Quality of Service. L2CAP har hand om att se till att enheterna får den bandbredd med mera som den begär. 4. Grupper. Basbandet har hand om grupper i form av piconät (flera enheter som synkroniserat hoppar efter samma klocka). L2CAPs grupper ger möjligheten att mappa protokollgrupper till piconät. Utan den abstraktionen skulle högre lager behöva tillgång till basbandet och andra lager för att effektivt kunna implementera grupper. Värdkontrollern specificerar den maximala storleken på hur mycket ett HCI-paket kan transportera. I Ericssons nuvarande mjukvara är gränsen på 800 byte, och basbandet kan hantera upp till tio sådana paket. 26

27 Ett exempel på hur segmentering och hopsättning fungerar följer här ett exempel [KA00]: Den lokala värden 1 vill överföra 26 byte med information till värd 2. En uppkoppling mellan de två skapas, och paketvalet för sessionen blir DM1-paket. De 26 byten representerar L2CAP meddelandet och ryms inte i ett DM1-paket. Därför måste det bli skickat i två stycken paket. Detta kan ses i Figur L2CAP Lenght CID L2CAP Payload HCI Connection_handle PB-flag = 10 Lenght HCI data payload Connection_handle PB-flag = 01 Lenght HCI data payload Figur 4.11: Segmentering av L2CAP-paket (ej skalenlig) Det första HCI-paketet inkluderar L2CAP huvudet; längd och CID (kanalidentifierare, 4 byte) och 13 byte data i HCI-paketets nyttolast. Flagga PB (Packet Boundary) sätts till första paketet av ett högre lagers meddelande. Det andra HCI-paketet inkluderar de resterande 13 byten data i HCIs nyttolast. PB-flaggan sätts den här gången till Fortsättning av högre lagers meddelande. På den mottagande sidan (värd 2) kommer mjukvaran att sätta ihop de två HCI-paketen i rätt ordning så att de 26 bytes som ursprungligen skickades fås fram Säkerhet Blåtandsstandarden tillhandahåller två typer av säkerhetsåtgärder: autentisering och kryptering. Autentisering används för att verifiera att motparten i en uppkoppling verkligen är den den utger sig för att vara och inte en inkräktare. Kryptering är processen där data kodas så att ingen annan än den adresserade mottagarenheten kan avkoda det. Andra enheter ska inte kunna förstå informationen som sänds. Enligt Blåtandsspecifikationen [SBS99] anses säkerheten vara tillräckligt god för de flesta applikationer. Det finns dock vissa kritiker av säkerheten i Blåtand, att den inte är 27

28 testad tillräcklig. Kritikerna menar att eftersom Blåtandsenheterna med jämna mellanrum skickar ett unikt id kanske någon kunna spåra hur en person rör sig. Om krypteringen och/eller autentiseringen knäcktes skulle det bli enkelt att avlyssna Blåtandstrafiken. Säkerheten är justerbar med hjälp av en variabel nyckel för krypteringen. Nyckeln kan varieras mellan 1 och 16 oktetter (8-128 bitar). Denna hemliga nyckel genereras då två enheter kommunicerar för första gången. Om ytterligare säkerhet behövs så skall detta implementeras i applikationslagret. Autentiseringen uppnås genom den sparade linknyckeln eller genom att skriva in en PIN-kod. Indirekt ger metoden med hoppfrekvens ytterligare säkerhet, eftersom en avlyssnare måste hoppa exakt likadant som de enheter den vill avlyssna, detta kan vara svårt om inte paketen som skickas i paging-proceduren i början av en uppkoppling också avlyssnats så att avlyssnaren vet hur den ska hoppa. Eftersom säkerhetsaspekten inte berörs i någon större grad i detta projekt utelämnas en noggrann beskrivning, se [SBS99] sidan , för mer information SDP - "Service Discovery Protocol" I Blåtandsstandarden finns det något som kallas Service Discovery Protocol, det protokollet är till för att applikationer ska kunna upptäcka vilka tjänster som finns på enheter i närheten, och karakteristiken på dessa tjänster. En tjänst kan vara många saker, till exempel en skrivartjänst. Karakteristiken på en skrivartjänst kan vara att den klarar av färgutskrifter, postscript eller liknande. Ta som exempel att en affärsresenär på väg till USA kommer på att han behöver skriva ut ett papper. När han vid en övergång då befinner sig i en VIP-lounge så kan han där söka efter en skrivare som klarar färg. Om han hittar en så kopplar han enkelt upp sig och skriver ut sitt papper. För ett personligt tangentbord skulle implementationen av SDP kanske vara lite överflödig, men man skulle kunna tänka sig att tangentbord till PDAer med Blåtandsmöjligheter fanns utplacerade på strategiska ställen, till exempel i vänthallar på flygplatser och liknande. Vem som helst med en sådan PDA/mobiltelefon eller liknande skulle kunna sätta sig vid tangentbordet, söka efter en tangentbordstjänst, hitta tangentbordet och sedan börja använda det. Läs mer om SDP i [SBS99] sid

29 4.5. Blåtand, ett praktiskt exempel Blåtand har beskrivits ganska ingående i tidigare kapitel, men en liten genomgång med mer praktisk inriktning kan vara av intresse, om inte minst för förståelsens skull. För att initiera Blåtandsmodulen skickar man ett antal HCI-kommandon (se Host Controller Interface) från värden (PC/Palm) via seriekabeln till modulen. Initieringen görs på både master och slav-enheten. Kommandona som skickas redovisas i tur och ordning i tabell nedan. Till varje kommando skickas en svarshändelse av något slag, i en del av dessa svarshändelser medföljer även information, som till exempel för kommandot HCI_Read_BD_ADDR returneras den egna Blåtandsmodulens adress i svarshändelsen. HCI_Reset Nollställer Blåtandskontrollern, länk managern och radiomodulen. Enheten går in i väntläge och ursprungsvärden återställs. HCI_Read_BD_ADDR Läs den egna Blåtandsadressen HCI_Read_Buffer_Size Returnerar maximal storlek och maximalt antal paket som kan lagras i HCI buffertarna. HCI_Set_Event_Filter Ställer in vilken typ av enheter som skall komma upp vid inquiry (Alla i närheten, Alla enligt viss klass ( Skrivare ), Någon med viss adress). Går även att ställa in Auto-accept för inkommande uppkopplingsförfrågningar. HCI_Write_Scan_Enable Gör så att Blåtandsradion periodiskt kan gå in i page scan eller inquiry-läge. Om på, så används HCI_Write_PageScan_Activity och HCI_Write_InquiryScan_Activity. HCI_Write_Authentication_Enable Välj om autentisering skall vara på eller av. Påverkar inte nuvarande uppkopplingar. HCI_Write_Connection_Accept_Timeout Det kommer att bli möjligt för Blåtandshårdvaran att neka en uppkoppling efter ett visst specificerat 29

30 HCI_Write_Page_Timeout tidsintervall. Den längsta tid som länk managern kommer att vänta på ett basbandssvar från en annan enhet vid uppkoppling. Tabell 4.3 HCI-kommandon för initiering av Blåtandsmodul Mycket av inställningarna som görs i början är alltså för att ställa in olika timeout-värden, och ställa in filter och liknande. Då initieringen är gjord är nästa steg i uppkopplingen att för den enhet som vill koppla upp sig att söka efter andra enheter. HCI_Inquiry Tala om för Blåtandsmodulen att den ska söka efter andra enheter Tabell 4.4 HCI-kommando för Inquiry Kommandot i tabell 4.4 svarar med två stycken händelser: först svarar den direkt med en händelse som talar om att den har påbörjat inquiry (HCI_Command_Status_Event). När den är klar svarar den med ett HCI_Inquiry_Result_Event event som returnerar information om de enheter den hittat. Vid det här laget känner vi till vilka enheter som finns i närheten, och kan koppla upp oss mot en av dess, detta görs med kommandot i tabell 4.5. HCI_Create_Connection Tala om för Blåtandsmodulen att den ska koppla upp sig mot en viss enhet. Tabell 4.5 HCI-kommando för att skapa en uppkoppling Samma förfarande som i fallet med inquiry sker vid uppkoppling. En svarshändelse skickas direkt då en uppkoppling har påbörjats, så fort detta är klart returneras ett HCI_Connection_Complete_Event som ger information om den andra enheten. När uppkopplingen är gjord skickar man respektive tar emot data med funktioner i L2CAP-lagret. 30

31 5. Palm 5.1. Bakgrund Palm betyder handflata på svenska, och namnet syftar på storleken på denna handdator. Den främsta tanken med en Palm är att den skall användas som en personlig planerare; en avancerad elektronisk filofax. I Palmen finns det program som till exempel almanacka, att-göra-listor och mycket mera. Det finns också möjlighet att installera egna program efter behov. Figur 5.0: PalmV, utvecklingsplattformen i detta projekt Det hela började i Mars 1996 då Pilot 1000 och Pilot 5000 introducerades. Sedan dess har många olika modeller kommit, däribland PalmIII och PalmV. De nyare versionerna som finns för närvarande är Palm m100 och PalmIIIc, där den sistnämnda är med färgskärm. I detta projekt användes en PalmV med Palm OS version 3.3 (Se Figur 5.0). Programmet som utvecklats går även bra att köra i nyare Palm med Palm OS v3.5. Mycket av Palms framgångar beror på att det finns en stor mängd programvara utvecklad, programvara som är utvecklad av fristående programmerare. I Mars 1997 hade Palm ca 2000 registrerade utvecklare, i september år 2000 passerade de stycken. Denna stora mängd programmerare gör att det finns program för de flesta ändamål på Palmen Skillnader mot PC Att programmera för en liten handdator som Palm skiljer sig i många avseenden från att programmera för en stationär dator. Här kommer en redovisning av viktiga skillnader [PalmC]. 31

32 Skärmstorlek En Palms skärm är enbart 160x160 punkter stor, mängden information man kan visa samtidigt är alltså begränsad. Detta är dock inget som det behövs tas någon hänsyn i detta fall eftersom tangentbordet som utvecklas skall användas i befintliga applikationer. Generellt sett är en handdator i Palmens storlek mindre lämpad för redigering av stora textdokument och liknande, eftersom det bara ryms ungefär 5-7 ord/rad. Svarstid På en PC har användaren inte så mycket emot att vänta ett par sekunder på att något skall utföras, eftersom användaren planerar att använda applikationen under en relativt lång tidsperiod. I kontrast till detta använder den genomsnittlige Palmanvändaren en applikation 15 till 20 gånger per dag, endast någon enstaka sekund per tillfälle. Svarstiden är därför av väldigt stor vikt. För att ett tangentbord skall vara användbart även för den som skriver snabbt måste svarstiden hållas nere så mycket som möjligt. Inmatningsmetoder På grund av Palmens begränsade möjligheter till inmatning av text som sker med hjälp av textigenkänning eller med det virtuella tangentbordet är de flesta applikationer utvecklade på ett sådant sätt att stora mängder information inte behöver skrivas in. Med ett externt tangentbord ändras dock detta. Batteri Palm OS plattformen drivs med batteri och har därmed inte samma beräkningskapacitet som en stationär dator. Palmens syfte är inte att utföra stora beräkningar, utan istället bör man utföra beräkningar på den stationära datorn, och eventuellt använda Palmen för att visa resultatet. Det krävs dock inte speciellt mycket beräkningskapacitet för att hantera Blåtandsstacken. Blåtandsmodulen drivs av ett extern batteri. Minne Palm OS har större begränsningar än en vanlig persondator då det gäller heapminne och lagringsmöjligheter. Det finns olika versioner av enheten med mellan 512Kbyte och 8Mbyte minne. Vidare finns ingen hårddisk eller stöd för PCMCIA. Programmen brukar dock oftast bli väldigt små och därmed kräver PalmOS inte lika mycket minne som till exempel en PDA med Pocket PC som operativsystem. 32

33 Filsystem På grund av de begränsade lagringsmöjligheterna och för att göra synkroniseringen med PC så effektiv som möjligt har inte Palm OS något traditionellt filsystem. Man sparar istället data i records, vilka är grupperade i databases. En databas är analogt med en fil. Skillnaden ligger i att datat delas upp i mindre delar och lagras som records, istället för i en stor sammanhängande bit. För att spara utrymme ändrar man databasen direkt i minnet istället för att först lagra den i RAM för att sedan skriva ner den i lagringsutrymmet (som är en annan del av RAM, se Minnesarkitektur) Viktiga delar För att skapa en förståelse för svårigheter under projektets gång kommer här en lite mer detaljerad beskrivning av vissa intressanta delar av Palm OS Minnesarkitektur Palm OS programvaran är designad runt en 32-bitars arkitektur. Processorn som används är en Motorola Systemet använder sig av 32 bitar stora adresser och de normala datatyperna är 8, 16 eller 32 bitar stora. Med 32 bitar stora adresser kan man totalt adressera 4GB, vilket är mer än tillräckligt även i framtida utbyggnader av operativsystemet; minnesarkitekturen ska inte behövas göras om. Palm OS delar upp minnet i två delar: dynamiskt RAM och lagrings-ram. Dynamiskt RAM används som arbetsyta för temporära variabler, och är analogt med RAM-minnet på vanliga persondatorer. Resten av RAMet på minneskortet går till lagrings RAM. Detta är analogt med hårddisk eller liknande på en stationär dator. Eftersom strömmen alltid är påslagen till minnessystemet förblir de båda delarna av RAM-minnet precis likadant även om man slår av sin Palm. All lagrings-ram förblir intakt även vid en reset av Palmen. Som en del av startupsekvensen av Palmen återinitieras det dynamiska RAMet och lagringsramet förblir intakt. All dynamisk RAM implementerar en enda stor heap som gör det möjligt för program att använda sig av dynamiska allokeringar av minne. En risk som följer med detta, är att det kan uppstå minnesläckor. Det vill säga att programmeraren glömmer eller missar att återlämna, allt använt minne till operativsystemet då programmet avslutas. Konsekvensen av detta kan vara att minnet helt tar slut efter en tids användande. 33

34 Händelser Generellt sett är PalmOS-applikationer enkeltrådiga, händelsedrivna ( event-driven ) program. Enbart ett program körs åt gången. En händelse kan vara många olika saker, till exempel då ett program startas skickas en speciell händelse, då pennan trycks ned på den tryckkänsliga skärmen skickas en pendown händelse, med mera. I stort sett allt som händer i en Palm generar också en händelse. Eftersom Palm OS är ett händelsestyrt operativsystem innehåller alla Palm OS applikationer en händelseloop. I händelseloopen plockar applikationen fram händelser från händelsekön, och skickar iväg dem, för omhändertagande. Applikationen använder sig av systemets funktionalitet om det behövs. do { EvtGetEvent(&event, evtwaitforever); if (! SysHandleEvent(&event)) if (! MenuHandleEvent(0, &event, &error)) if (! AppHandleEvent(&event)) FrmDispatchEvent(&event); } while (event.etype!= appstopevent); Figur 5.1: Exempelkod, händelseloop I denna loop kollar funktionen EvtGetEvent om det finns några händelser i händelsekön. Händelsen är en struktur som innehåller all information som behövs för att på ett korrekt sätt ta hand om händelsen. Detta görs i händelseloopen som innehåller olika funktioner. Den första som körs brukar vara SysHandleEvent som tar hand om systemspecifika händelser, sådana händelser är till exempel då man klickar på grafiska objekt på skärmen. SysHandleEvent i sig kan också generera nya händelser som läggs i händelsekön. Dessa tas sedan om hand vid senare tillfälle i loopen. SysHandleEvent returnerar SANT om den helt har tagit hand om händelsen, och att inget mer i händelseloopen behöver köras, om något senare i händelseloopen behöver köras returnerar den istället FALSK. Efter detta följer MenuHandleEvent, AppHandleEvent och FrmDispatchEvent. Dessa tar i tur och ordning hand om menyer, program som startas upp samt skickar vidare händelsen till händelsehanteraren för det aktiva formuläret (ett Palmprogram består av flera vyer, varje vy är ett formulär och har en egen händelsehanterare. I en aktiv vy finns alla knappar och andra objekt man för närvarande ser). Händelseloopen körs till dess att ett appstopevent genereras, då denna händelse tas emot avslutas programmet. 34

Wearable Computers 10p Kapitel till boken Wearable Computers

Wearable Computers 10p Kapitel till boken Wearable Computers 10 november, 2003 UMEÅ UNIVERSITET Institutionen för Tillämpad Fysik och Elektronik Wearable Computers 10p Kapitel till boken Wearable Computers Namn E-mail Tomas Englund el00ted@ing.umu.se Handledare:

Läs mer

Systemkonstruktion SERIEKOMMUNIKATION

Systemkonstruktion SERIEKOMMUNIKATION Systemkonstruktion SERIEKOMMUNIKATION Laborationsansvariga: Anders Arvidsson Utskriftsdatum: 2005-04-26 Syfte Laborationen syftar till att ge studenten tillfälle att närmare bekanta sig med RS-232-protokollet,

Läs mer

Instuderingsfrågor ETS052 Datorkommuniktion - 2014

Instuderingsfrågor ETS052 Datorkommuniktion - 2014 Instuderingsfrågor ETS052 Datorkommuniktion - 2014 October 13, 2014 Fråga 1. Beskriv de två komponenterna i PCM. Fråga 2. Förklara hur länklagret kan skilja på olika inkommande paket från det fysiska lagret.

Läs mer

Datakommunikation vad är det?

Datakommunikation vad är det? Datakommunikation vad är det? Så fort en sändare överför data till en mottagare har vi datakommunikation Sändare Digital information Kanal Mottagare Problem: Sändare och mottagare måste kunna tolka varandra

Läs mer

Bruksanvisning DAB One

Bruksanvisning DAB One Bruksanvisning DAB One Var snäll läs igenom denna bruksanvisning, innan ni börjar använda er DAB One. Grattis till ditt val av DAB/FM mottagare. Vi hoppas att du kommer att ha många trevliga stunder framför

Läs mer

Föreläsning 4. Multiplexering (1/2) Multiplexering (2/2) Multiplexering Närnät

Föreläsning 4. Multiplexering (1/2) Multiplexering (2/2) Multiplexering Närnät Föreläsning 4 Multiplexering Närnät 10/8/01 Gunnar Karlsson, Bengt Sahlin 1 Multiplexering (1/2) En länk bör kunna användas av flera sändare multiplexering = uppdelning av länken varje sändare allokeras

Läs mer

Formula Blue. Digitala Projekt 8p. Jesper Ferm E02 Carl Hakenäs E04

Formula Blue. Digitala Projekt 8p. Jesper Ferm E02 Carl Hakenäs E04 Formula Blue Digitala Projekt 8p Jesper Ferm E02 Carl Hakenäs E04 Abstract The purpose with this project was to get some understanding how Bluetooth works and how to use it in practical applications. A

Läs mer

5 Internet, TCP/IP och Tillämpningar

5 Internet, TCP/IP och Tillämpningar 5 Internet, TCP/IP och Tillämpningar Syfte: Förstå begreppen förbindelseorienterade och förbindelselösa tjänster. Kunna grundläggande egenskaper hos IP (från detta ska man kunna beskriva de viktigaste

Läs mer

Operativsystem. Informationsteknologi sommarkurs 5p, 2004. Agenda. Slideset 7. Exempel på operativsystem. Operativsystem

Operativsystem. Informationsteknologi sommarkurs 5p, 2004. Agenda. Slideset 7. Exempel på operativsystem. Operativsystem Informationsteknologi sommarkurs 5p, 2004 Mattias Wiggberg Dept. of Information Technology Box 337 SE751 05 Uppsala +46 18471 31 76 Collaboration Jakob Carlström Slideset 7 Agenda Exempel på operativsystem

Läs mer

Den här texten ska förhoppningsvis underlätta en del av anpassningarna. Det kan säkert finnas en del fel och annat tok.

Den här texten ska förhoppningsvis underlätta en del av anpassningarna. Det kan säkert finnas en del fel och annat tok. Ver Okt 2011/pls Windows7, GX-IEC Developer, USB-adapter I olika kurser i styrteknik på Högskolan Dalarna används ett styrsystem från Mitsubishi och programvaran GX-IEC Developer. Kurserna går på distans

Läs mer

Svensk version. Inledning. Innehåll. Specifikationer BT100. Extra specifikationer BT100 S W E E X. C O M. BT110 - Sweex Bluetooth Class I Adapter USB

Svensk version. Inledning. Innehåll. Specifikationer BT100. Extra specifikationer BT100 S W E E X. C O M. BT110 - Sweex Bluetooth Class I Adapter USB BT100 - Sweex Bluetooth Class II Adapter USB BT110 - Sweex Bluetooth Class I Adapter USB Inledning Först och främst tackar vi till ditt köp av denna Sweex Bluetooth Adapter. Med hjälp av denna adapter

Läs mer

Systemkrav. www.hogia.se/approval. Systemkrav för Hogia Approval Manager. Gäller från och med programversion 2012.1

Systemkrav. www.hogia.se/approval. Systemkrav för Hogia Approval Manager. Gäller från och med programversion 2012.1 Systemkrav Systemkrav för Hogia Approval Manager Gäller från och med programversion 2012.1 För produkten Hogia Approval Manager gäller samma systemkrav som för ekonomisystemet, med vissa tillägg. Tilläggen

Läs mer

Introduktion till integrering av Schenkers e-tjänster. Version 2.0

Introduktion till integrering av Schenkers e-tjänster. Version 2.0 Introduktion till integrering av Schenkers e- Version 2.0 Datum: 2008-06-18 Sida 2 av 8 Revisionshistorik Lägg senaste ändringen först! Datum Version Revision 2008-06-18 2.0 Stora delar av introduktionen

Läs mer

Ett tryggare Sverige. Ett gemensamt system för mobil kommunikation

Ett tryggare Sverige. Ett gemensamt system för mobil kommunikation SVENSKA SAMMANFATTNING Bilaga 1 KOMMUNFÖRBUNDET 1999-02-17 Sektionen för Energi, Skydd och Säkerhet Finanssektionen Ett tryggare Sverige. Ett gemensamt system för mobil kommunikation Allmänt om radiokommunikation

Läs mer

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack 725G61 - Laboration 7 Implementation av ett API Johan Falkenjack December 13, 2013 1 Inledning Hittills i kursen har vi tittat på grundläggande programmering och grundläggande objektorientering. I den

Läs mer

WAGO IO System Service Seminar. Diagnostik

WAGO IO System Service Seminar. Diagnostik WAGO IO System Service Seminar Diagnostik 1 Dioder på Controller Link 1/2 Ethernet Länk status Av - ingen ethernet anslutning grön - Ethernet anslutning blinkande grön - Ethernet anslutning skickar / tar

Läs mer

Att köpa ny dator SeniorNet Lidingö Januari-2016

Att köpa ny dator SeniorNet Lidingö Januari-2016 Att köpa ny dator SeniorNet Lidingö Januari-2016 Att tänka på innan du köper bärbar dator Behov/Användningsområde Om man mest ska använda datorn till epost, Internet, lagra foton och skriva dokument i

Läs mer

Modbus. Supportdokument. Lathund för att använda Modbus över RS XXX eller TCP/IP.

Modbus. Supportdokument. Lathund för att använda Modbus över RS XXX eller TCP/IP. Supportdokument Modbus Lathund för att använda Modbus över RS XXX eller TCP/IP. Synpunkter, felaktigheter, önskemål etc. för dokumentet meddelas Fil: Malthe_LHA T_Modbus.docx Innehållsförteckning 1. Allmänt...

Läs mer

Switch Driver 5. Programvara för Radio Switch, JoyBox och JoyCable. Sensory Software

Switch Driver 5. Programvara för Radio Switch, JoyBox och JoyCable. Sensory Software Switch Driver 5 Programvara för Radio Switch, JoyBox och JoyCable. Sensory Software Innehållsförteckning Att använda programvaran Switch Driver... 3 Installera programvaran Switch Driver... 4 Kontaktanslutning...

Läs mer

TimeLox HCU handterminal. Användarguide. ASSA ABLOY, the global leader in door opening solutions.

TimeLox HCU handterminal. Användarguide. ASSA ABLOY, the global leader in door opening solutions. TimeLox HCU handterminal Användarguide ASSA ABLOY, the global leader in door opening solutions. INNEHÅLLSFÖRTECKNING START...3 1 UPPSÄTTNINGSMENY...3 1.1 SYSTEMUPPSÄTTNING...3 1.1.1 NYTT SYSTEM-ID...3

Läs mer

För installationer av SQL Server som inte görs från Hogias installation måste följande inställningar göras:

För installationer av SQL Server som inte görs från Hogias installation måste följande inställningar göras: Systemkrav 2009 Gäller från och med programversion 2009.2 Avser enanvändarinstallation i Hogias ekonomisystem. Systemkraven specificerar de miljöer och förutsättningar som programvaran är testad i och

Läs mer

E-POST3 Ett lättanvänt e-postprogram med stöd för talsyntes

E-POST3 Ett lättanvänt e-postprogram med stöd för talsyntes E-POST3 Ett lättanvänt e-postprogram med stöd för talsyntes Sida 2 av 2 Innehållsförteckning INNEHÅLLSFÖRTECKNING...3 REKOMMENDERAD UTRUSTNING...5 INSTALLATION...5 ANVÄNDARLÄGE I E-POST3...6 STARTSIDA...7

Läs mer

Kom igång med din SMART Board. Det praktiska

Kom igång med din SMART Board. Det praktiska Kom igång med din SMART Board Det praktiska Nu när ni fått er nya SMART Board på plats och ni vill börja använda den finns det ett par steg som man bör göra först för att få allt att fungera. I denna guide

Läs mer

Användar Guide. är ett varumärke av Google Inc.

Användar Guide. är ett varumärke av Google Inc. Användar Guide Android TM är ett varumärke av Google Inc. - 2 - Tack för att du köpt en MINIX NEO X5mini. Följ denna guide för att ställa in din enhet. MINIX NEO X5mini är en revolutionerande smart media

Läs mer

IT för personligt arbete F2

IT för personligt arbete F2 IT för personligt arbete F2 Nätverk och Kommunikation DSV Peter Mozelius Kommunikation i nätverk The Network is the Computer Allt fler datorer är sammankopplade i olika typer av nätverk En dators funktionalitet

Läs mer

Behörighetssystem. Ska kontrollera att ingen läser, skriver, ändrar och/eller på annat sätt använder data utan rätt att göra det

Behörighetssystem. Ska kontrollera att ingen läser, skriver, ändrar och/eller på annat sätt använder data utan rätt att göra det Behörighetssystem Ska kontrollera att ingen läser, skriver, ändrar och/eller på annat sätt använder data utan rätt att göra det Systemet måste kunna registrera vilka resurser, d v s data och databärande

Läs mer

Säkra pausade utskriftsjobb. Administratörshandbok

Säkra pausade utskriftsjobb. Administratörshandbok Säkra pausade utskriftsjobb Administratörshandbok April 2013 www.lexmark.com Innehåll 2 Innehåll Översikt... 3 Konfigurera säkra pausade utskriftsjobb... 4 Konfigurera och säkra programmet...4 Använda

Läs mer

PNSPO! Tips! Xpectia kommunikation till OMRON PLC via Seriellt. 14 mars 2012 OMRON Corporation

PNSPO! Tips! Xpectia kommunikation till OMRON PLC via Seriellt. 14 mars 2012 OMRON Corporation PNSPO! Tips! Xpectia kommunikation till OMRON PLC via Seriellt 14 mars 2012 OMRON Corporation 2/24 Läs detta innan du bläddrar vidare PNSPO! Denna bok är avsedd som ett tillägg till de ursprungliga manualerna

Läs mer

e-sense move dali Manual

e-sense move dali Manual e-sense move dali Manual Innehåll Moves grundläggande funktionssätt...4 5 Programmera RF-signalen...6 7 Ta bort RF-signalen...8 Förinställda scenarion...9 Alternativ för mottagande av RF-signaler...10

Läs mer

Quick start manual. Smart-House 2015-11-04. Rev 2.0

Quick start manual. Smart-House 2015-11-04. Rev 2.0 Quick start manual Smart-House 2015-11-04 Rev 2.0 Innehåll Förord... 3 Programvara... 4 Hämta programvara... 4 PC krav... 4 Dokumentation... 5 Manualer... 5 Projektdokumentation... 5 Smart-Dupline... 6

Läs mer

Projektpresentation Wapspel

Projektpresentation Wapspel Projektpresentation Wapspel Innehållsförteckning Projektets namn:...2 Uppdragsgivare:...2 Deltagare och ansvarsfördelning:...2 Adress till www-dokumentation:...2 Adress till WAP-spelet:...2 Adress till

Läs mer

Operativsystem - input/output, skydd, virtualisering

Operativsystem - input/output, skydd, virtualisering Operativsystem - input/output, skydd, virtualisering Mats Björkman 2015-03-12 Lärandemål, I/O n Typer av I/O-enheter n Character, Block & Special n Minnesmappad I/O n Typer av I/O-programmering n Programmerad,

Läs mer

HÄR ÄR HUNDEN! Med Followit Hunter behöver du inte längre leta

HÄR ÄR HUNDEN! Med Followit Hunter behöver du inte längre leta HÄR ÄR HUNDEN! Med Followit Hunter behöver du inte längre leta Nu slipper du tveka Med Followit Hunter har du alltid kontroll över var din hund befinner sig. Tack vare den unika kombinationen av GPS/GSM-teknik

Läs mer

Real-time requirements for online games

Real-time requirements for online games Real-time requirements for online games En undersökning om protokoll, tekniker och metoder som datorspel använder för att kommunicera över Internet Victor Grape Milad Hemmati Linköpings universitet Linköping

Läs mer

D/A- och A/D-omvandlarmodul MOD687-31

D/A- och A/D-omvandlarmodul MOD687-31 D/A- och A/D-omvandlarmodul MOD687-31 Allmänt Modulen är helt självförsörjande, det enda du behöver för att komma igång är en 9VAC väggtransformator som du kopplar till jacket J2. När du så småningom vill

Läs mer

Inledning. Viktiga säkerhetsinstruktioner. Svensk version. LD000020 Sweex Powerline USB-adapter

Inledning. Viktiga säkerhetsinstruktioner. Svensk version. LD000020 Sweex Powerline USB-adapter LD000020 Sweex Powerline USB-adapter Inledning Tack för att du har valt en Poweline-adapter. Med den här Powerline-adaptern kan du snabbt och enkelt skapa ett nätverk via eluttaget. Med den här metoden

Läs mer

Realtid. eda040project2010 MANUAL. - Christoffer Olsson. - Daniel Lehtonen

Realtid. eda040project2010 MANUAL. - Christoffer Olsson. - Daniel Lehtonen Realtid eda040project2010 MANUAL dt08es7 dt08co0 dt08dm8 dt08dl4 - Emil Selinder - Christoffer Olsson - David Meyer - Daniel Lehtonen Innehållsförtäckning Introduktion Hur man kör igång programmet Proxy

Läs mer

RealPresence Desktop 3.1

RealPresence Desktop 3.1 RealPresence Desktop 3.1 Arbetsplats: Länsteknik Sunderby Sjukhus Sida 2 (11) RealPresence Desktop Vi uppgraderar nu den befintliga klienten för videokonferens från CMA-Desktop till RealPresence-Desktop.

Läs mer

55200 Inspelningsbar microfon

55200 Inspelningsbar microfon 55200 Inspelningsbar microfon Lär känna Easi-Speak Innehåll: Inbyggd högtalare Mikrofon Volymknappar Hörlursuttag På-/av-knapp Statuslampa Röd inspelningsknapp Grön uppspelningsknapp USB-anslutning Föregående

Läs mer

Start-Up Customization Applikation för TI-83 Plus

Start-Up Customization Applikation för TI-83 Plus TI Start-Up Customization Applikation för TI-83 Plus Komma igång Börja här Hur Anpassa Start-Up med en bild Anpassa Start-Up med ett program Anpassa Start-Up med en applikation Stänga av Start-Up Customization

Läs mer

4 Paket- och kretskopplade nät

4 Paket- och kretskopplade nät 4 Paket- och kretskopplade nät Kommunikationssystem 2G1501 Syftet: Syftet med detta kapitel är att förstå egenskaperna hos, och skillnaderna mellan, de tre olika kopplade nätverkstyperna kretskopplade

Läs mer

Vad är kommunikation? Vad är datorkommunikation? Dataöverföring; Inledning

Vad är kommunikation? Vad är datorkommunikation? Dataöverföring; Inledning Vad är kommunikation? Kommunikation är ett vitt begrepp. Vi använder det för att benämna till exempel ett samtal eller att vi själv förflyttar oss med till exempel tåg eller buss. Kommunikation kommer

Läs mer

Tillförlitlig dataöverföring Egenskaper hos en länk Accessmetoder. Jens A Andersson

Tillförlitlig dataöverföring Egenskaper hos en länk Accessmetoder. Jens A Andersson Tillförlitlig dataöverföring Egenskaper hos en länk Accessmetoder Jens A Andersson Digitalisering av ljud Omvandling av ljud till binär data sker i tre steg: 1) Sampling 2) Kvantisering 3) Kodning Detta

Läs mer

Det finns många typer och former av kapslingar

Det finns många typer och former av kapslingar Tags för 125 khz har tillverkats under drygt 25 år finns i ett stort antal varianter avseende storlek, kapsling, läsavstånd och miljötålighet. Utan tvekan är det den mest använda och beprövade RFID- tekniken

Läs mer

Tillförlitlig dataöverföring. Jens A Andersson

Tillförlitlig dataöverföring. Jens A Andersson Kapitel 4: Tillförlitlig dataöverföring Kapitel 5:Lokala nät Jens A Andersson (Maria Kihl) Repetition Protokoll: Överens om vilket språk vi pratat Paket: Dela upp datamängden i småbitar Tillförlitlig dataöverföring

Läs mer

Exempeluppgift i Logikstyrning. 1 Inledning. 2 Insignaler och utsignaler

Exempeluppgift i Logikstyrning. 1 Inledning. 2 Insignaler och utsignaler Exempeluppgift i Logikstyrning Inledning Idén med detta papper är att ge en allmän beskrivning av labbutrustningen och tips för hur man kan lösa olika praktiska problem i samband med laborationen. Läs

Läs mer

Hjälpprotokoll till IP

Hjälpprotokoll till IP Hjälpprotokoll till IP IP-protokollet är ju Internets nätverksprotokoll En filosofi vad gäller Internetprotokollen är att man inte ska försöka skapa ett protokoll som kan hantera alla tänkbara problem,

Läs mer

Föreläsning 3.1: Datastrukturer, en översikt

Föreläsning 3.1: Datastrukturer, en översikt Föreläsning.: Datastrukturer, en översikt Hittills har vi i kursen lagt mycket fokus på algoritmiskt tänkande. Vi har inte egentligen ägna så mycket uppmärksamhet åt det andra som datorprogram också består,

Läs mer

FLEXILAGER Ett hjälpmedel för anpassad lagerhantering. Original -version

FLEXILAGER Ett hjälpmedel för anpassad lagerhantering. Original -version Beskrivning av FLEXILAGER Ett hjälpmedel för anpassad lagerhantering. Original -version Flexénita Sunnerstavägen 58 186 70 Brottby tel: 08 512 41803 FLEXILAGER 2 Innehållsförteckning INTRODUKTION.....3

Läs mer

Grunderna i stegkodsprogrammering

Grunderna i stegkodsprogrammering Kapitel 1 Grunderna i stegkodsprogrammering Följande bilaga innehåller grunderna i stegkodsprogrammering i den form som används under kursen. Vi kommer att kort diskutera olika datatyper, villkor, operationer

Läs mer

Nu är sändarfamiljen komplett.

Nu är sändarfamiljen komplett. 780 45 Björbo, Sweden phone +46 241 250 00 fax +46 241 232 99 www.akerstroms.se www.akerstroms.com Björbo 2010-11-30 Nu är sändarfamiljen komplett. Sesam 800 LARGE 99 är vårat mest avancerade Sesam system.

Läs mer

Flera processer. Minneshantering. Trashing kan uppstå ändå. Ersätta globalt

Flera processer. Minneshantering. Trashing kan uppstå ändå. Ersätta globalt Flera processer Minneshantering Operativsystem lektion 6 Potentiellt problem: Den sida som plockas bort behöver inte vara den sida som används minst!! Det kan finnas andra processer som inte körs eller

Läs mer

Grundläggande nätverksteknik. F3: Kapitel 4 och 5

Grundläggande nätverksteknik. F3: Kapitel 4 och 5 Grundläggande nätverksteknik F3: Kapitel 4 och 5 Kapitel 4 OSI TRANSPORT LAYER Transportlagrets sy=e Segment av data skall nå räa applikabon hos både avsändare och moaagare Uppdelning av dataströmmen från

Läs mer

ASSA Smartair. Användarmanual Programmeringsenhet till TS1000. ASSA ABLOY, the global leader in door opening solutions.

ASSA Smartair. Användarmanual Programmeringsenhet till TS1000. ASSA ABLOY, the global leader in door opening solutions. ASSA Smartair Användarmanual Programmeringsenhet till TS1000 ASSA ABLOY, the global leader in door opening solutions. Innehållsförteckning 1. Introduktion...3 2. Teknisk specifikation...3 2.1 Generellt...3

Läs mer

SafetyMOB. Installations och användarmanual för. trådlöst nödstopp - dödmansgrepp. SafePort Marine. Dokument: SM_UM_sv Version: 2014-09-25

SafetyMOB. Installations och användarmanual för. trådlöst nödstopp - dödmansgrepp. SafePort Marine. Dokument: SM_UM_sv Version: 2014-09-25 Installations och användarmanual för SafetyMOB trådlöst nödstopp - dödmansgrepp Dokument: SM_UM_sv Version: 2014-09-25 SafePort Marine email: info@safeportmarine.se tel: +46 8 501 64 306 www.safeportmarine.se

Läs mer

www.telefrang.se Telefrang Smoke Control System Installationsmanual för Midi- och MaxiSmoke 2008-02-18 Sida 1 av 12

www.telefrang.se Telefrang Smoke Control System Installationsmanual för Midi- och MaxiSmoke 2008-02-18 Sida 1 av 12 Telefrang Smoke Control System Installationsmanual för Midi- och MaxiSmoke MaxiSmoke MidiSmoke File: D:\Projekt\SMOKE CONTROL\MIDI SMOKE\Man\Midisystem_inst_man_V01.odt 2008-02-18 Sida 1 av 12 1. Installation

Läs mer

Hitta rätt bland alla lösningar för mobila utskrifter

Hitta rätt bland alla lösningar för mobila utskrifter Faktablad Micro Focus iprint Hitta rätt bland alla lösningar för mobila utskrifter I dag måste en fungerande utskriftslösning omfatta mobil utskrift. I det här bladet kan du läsa om hur du hittar fram

Läs mer

F2 Exchange 2007. 2013-01-16 EC Utbildning AB 2013-01-16

F2 Exchange 2007. 2013-01-16 EC Utbildning AB 2013-01-16 F2 Exchange 2007 1 F2 Idag: Exchange i SBS 2008 Planering av systemet Exchange struktur, AD/GC/hierarki Core Components Management, Connectors Serverroller 2 Exchange Server i Small Business Server 2008?

Läs mer

LABORATIONSRAPPORT Säkerhet och Sårbarhet Laboration 1 Brandväggar

LABORATIONSRAPPORT Säkerhet och Sårbarhet Laboration 1 Brandväggar LABORATIONSRAPPORT Säkerhet och Sårbarhet Laboration 1 Laborant/er: Klass: Laborationsansvarig: Robin Cedermark Erik Gylemo Jimmy Johansson Oskar Löwendahl Jakob Åberg DD12 Martin Andersson Hans Ericsson

Läs mer

Tekniska fakta. Telia Andi PLUS, revisionsläge R2 Terminaladapter för ISDN. Bruksanvisning

Tekniska fakta. Telia Andi PLUS, revisionsläge R2 Terminaladapter för ISDN. Bruksanvisning Tekniska fakta Terminaladapter för anslutning av analog teleutrustning (två linjer) till en nätterminal för EURO-ISDN-abonnemang. Möjlighet till nummerstyrning till de analoga linjerna. Stöder följande

Läs mer

DIGITALA PROJEKT Väderstation

DIGITALA PROJEKT Väderstation DIGITALA PROJEKT Väderstation Christian Lindquist, E03 Leonardo Bello, E03 Abstract Almost everybody has some kind of temperature measurement device in their home. The latest in this industry are more

Läs mer

Korthållsradio med vidsträckta användningsmöjligheter

Korthållsradio med vidsträckta användningsmöjligheter Bluetooth TM Korthållsradio med vidsträckta användningsmöjligheter Jan Endresen, Torkil Brunsvik, Håkon Beckman, Snorre Kjesbu Kan någon med gott samvete säga att han eller hon inte åtminstone någon gång

Läs mer

Administrationsverktyg för marinvåg

Administrationsverktyg för marinvåg Computer Science Opponent(s): Ewelina Helmersson & Mollin Widegren Respondent(s): Christer Oscarsson & Jonas Larsson Administrationsverktyg för marinvåg Opposition Report, C-level 2010:VT 1 En generell

Läs mer

4 Paket- och kretskopplade nät

4 Paket- och kretskopplade nät 4 Paket- och kretskopplade nät Syfte: Syftet med detta kapitel är att förstå egenskaperna hos, och skillnaderna mellan, de tre olika kopplade nätverkstyperna kretskopplade nätverk, virtuellt kretskopplade

Läs mer

Installationsanvisning av proximityläsare 1103/2. Mod. 1103/2

Installationsanvisning av proximityläsare 1103/2. Mod. 1103/2 Installationsanvisning av proximityläsare 1103/2 Mod. 1103/2 EGENSKAPER: Proxiläsaren tillåter tidsreglerad öppning från 0 99 sekunder när: En användare placerar sin proxinyckel framför frontpanelen. En

Läs mer

Jag rek. starkt att alla uppgraderar sin TomTom till version 5 eller högre då massor av nya funktioner och en betydande prestandaskillnad finns.

Jag rek. starkt att alla uppgraderar sin TomTom till version 5 eller högre då massor av nya funktioner och en betydande prestandaskillnad finns. Installation av fartkameror i TomTom Installationstipset är skrivet för TomTom Navigator 3 eller version 5,TomTom Go Classic,ONE,300,500,700 (troligtvis även RIDER) eller TomTom Mobile samt en PC med Microsoft

Läs mer

CAN ett kommunikationsprotokoll för realtidssystem MOP 12/13 1

CAN ett kommunikationsprotokoll för realtidssystem MOP 12/13 1 CAN ett kommunikationsprotokoll för realtidssystem 1 Seriekomunikation- Datanät- Topologi Buss Ring Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Stjärna Masknät 2 Seriekomunikation-

Läs mer

42.MST 1/D (E4210405)

42.MST 1/D (E4210405) BRUKSANVISNING Fältstyrkemätare 42.MST 1/D (E4210405) Råsundavägen 15 169 67 Solna, Tel. 08-705 65 95 Fax. 08-705 65 99 info@elmanet.se www.elmanet.se Innehållsförteckning 1 INFORMATION... 3 2 INTRODUKTION...

Läs mer

geoliner 480 / 482 Fyrhjulsmätinstrument för personbilar, med CCD-teknik & Windows

geoliner 480 / 482 Fyrhjulsmätinstrument för personbilar, med CCD-teknik & Windows geoliner 480 / 482 TM Fyrhjulsmätinstrument för personbilar, med CCD-teknik & Windows geoliner 480 Användarvänlig... geoliner 480 Avancerad hjulinställningsutrustning den senaste tekniken. Levereras med

Läs mer

Din manual NOKIA C111 http://sv.yourpdfguides.com/dref/824115

Din manual NOKIA C111 http://sv.yourpdfguides.com/dref/824115 Du kan läsa rekommendationerna i instruktionsboken, den tekniska specifikationen eller installationsanvisningarna för NOKIA C111. Du hittar svar på alla dina frågor i instruktionsbok (information, specifikationer,

Läs mer

Datakommunikation med IR-ljus.

Datakommunikation med IR-ljus. Datakommunikation med -ljus. I den här uppgiften skall du kommunicera med hjälp av infrarött () ljus. Du skall kunna sända tecken från tangentbordet samt ta emot tecken och visa dem på skärmen. Genom att

Läs mer

HF0010. Introduktionskurs i datateknik 1,5 hp

HF0010. Introduktionskurs i datateknik 1,5 hp HF0010 Introduktionskurs i datateknik 1,5 hp Välkommna - till KTH, Haninge, Datateknik, kursen och till första steget mot att bli programmerare! Er lärare och kursansvarig: Nicklas Brandefelt, bfelt@kth.se

Läs mer

4.2 Fastställ en referenslösning... 6 4.2.1 Kundvärde... 6

4.2 Fastställ en referenslösning... 6 4.2.1 Kundvärde... 6 Inlämning 4 IKOT Inlämningsuppgift 4 Anders Segerlund andseg@student.chalmers.se Joakim Larsson joakiml@student.chalmers.se Toni Hastenpflug tonih@student.chalmers.se Fredrik Danielsson fredani@student.chalmers.se

Läs mer

- Trådlöst NVR kitt - Snabb installations guide -

- Trådlöst NVR kitt - Snabb installations guide - 1 Instruktions guide Tack för att ni valde våran produkt! Var god och kontakta oss ifall oväntade problem eller behov uppstår med varan. Garantin täcker ej bl.a. Felaktig installation eller användande

Läs mer

Fysiska lagret. Kanal. Problem är att kanalen har vissa begränsningar: Kanalen är analog Kanalen är bandbreddsbegränsad och är oftast störd (av brus)

Fysiska lagret. Kanal. Problem är att kanalen har vissa begränsningar: Kanalen är analog Kanalen är bandbreddsbegränsad och är oftast störd (av brus) Fysiska lagret Sändare Digital information Kanal Mottagare Problem är att kanalen har vissa begränsningar: Kanalen är analog Kanalen är bandbreddsbegränsad och är oftast störd (av brus) Kanalens kapacitet

Läs mer

Trajexia Motionenhet

Trajexia Motionenhet TJ1- Trajexia Motionenhet Motion Fristående avancerad motionstyrning med hjälp av Mechatrolink-II motionbuss 16-axlig avancerad motionkoordination över en robust och snabb motionlänk MECHATROLINK-II Stöder

Läs mer

Installations- och bruksanvisning för Gree Smart app: Hansol -seriens luftvärmepump med WiFi

Installations- och bruksanvisning för Gree Smart app: Hansol -seriens luftvärmepump med WiFi 02/2016, ed. 1 BRUKSANVISNING Installations- och bruksanvisning för Gree Smart app: Hansol -seriens luftvärmepump med WiFi Distributör: Tillfällavägen 15 433 63 Sävedalen www.scanmont.se Tack för valet

Läs mer

Din manual HP COMPAQ EVO D310 MICROTOWER http://sv.yourpdfguides.com/dref/869854

Din manual HP COMPAQ EVO D310 MICROTOWER http://sv.yourpdfguides.com/dref/869854 Du kan läsa rekommendationerna i instruktionsboken, den tekniska specifikationen eller installationsanvisningarna för HP COMPAQ EVO D310 MICROTOWER. Du hittar svar på alla dina frågor i instruktionsbok

Läs mer

Teknikprogrammet, inriktning informations- och medieteknik

Teknikprogrammet, inriktning informations- och medieteknik Teknikprogrammet, inriktning informations- och medieteknik Varför välja oss? Kursplan Presentation av våra datatekniska kurser Eftersom företag mycket sällan anställer gymnasieelever (de vill att ni ska

Läs mer

Svensk version. Inledning. Installation av maskinvara. Installation av Windows XP. LW057V2 Sweex trådlösa LAN PCI-kort 54 Mbps

Svensk version. Inledning. Installation av maskinvara. Installation av Windows XP. LW057V2 Sweex trådlösa LAN PCI-kort 54 Mbps LW057V2 Sweex trådlösa LAN PCI-kort 54 Mbps Inledning Utsätt inte det trådlösa LAN PCI-kortet 54 Mbps för extrema temperaturer. Placera inte enheten i direkt solljus eller nära värmekällor. Använd inte

Läs mer

Teckentavlor. Inställning av styrsätt med programvalsratten

Teckentavlor. Inställning av styrsätt med programvalsratten 1 THOT THOT fungerar som ett tangentbord till datorn. I stället för att trycka på tangenter, används ett styrorgan, som flyttar en ljuskägla över THOT tavlan och väljer ut önskad ruta. Varje ruta kan innehålla

Läs mer

S ANSLUTNINGAR KOPPLINGSPLINT CN1

S ANSLUTNINGAR KOPPLINGSPLINT CN1 ELEKTRONIKSKÅP LRX 2035 READER Enfas elektronikskåp för automatikstyrning av vipportar och jalusiportar med inbyggd radiomottagare och möjligheten till anslutning av 1 eller 2 beröringsfria läsare BeSAFE

Läs mer

Projektarbete 2: Interaktiv prototyp

Projektarbete 2: Interaktiv prototyp Projektarbete 2: Interaktiv prototyp Jonatan Hilmarch (Grupp 13) 880427-5595 hilmarch@skip.chalmers.se Kurs: Människa-Datorinteraktion TIG061 HT 2010 Projekt 1 - en tillbakablick Enligt projektets systemdefinition

Läs mer

Listen Only CutOff FM Radio Dual. Nyhet! Dual Pro. FM Radio CutOff Listen Only. det kompletta hörselskyddet

Listen Only CutOff FM Radio Dual. Nyhet! Dual Pro. FM Radio CutOff Listen Only. det kompletta hörselskyddet Listen Only CutOff FM Radio Dual Nyhet! Dual FM Radio CutOff Listen Only det kompletta hörselskyddet Sordin erbjuder högklass hörselskydd till låga prise för fritid och yrkesmässigt bruk Musik och kommunikation

Läs mer

ClamatorVoiceSystem II

ClamatorVoiceSystem II 1 (10) MANUAL ClamatorVoiceSystem II 1 INTRODUKTION... 2 1.1 Systemkrav... 2 2 INSTALLATION... 2 3 FUNKTION... 3 3.1 ARKITEKTUR... 3 3.1.1 Larmövervakning... 5 3.1.2 Urval av larm... 5 3.1.3 Blockeringslogik...

Läs mer

19. Skriva ut statistik

19. Skriva ut statistik 19. Skiva ut statistik version 2006-05-10 19.1 19. Skriva ut statistik Den här dokumentationen beskriver hur man skriver ut statistik från SPFs medlemsregister via Internet. Observera att bilderna är exempel

Läs mer

Pulsmätare med varningsindikatorer

Pulsmätare med varningsindikatorer Pulsmätare med varningsindikatorer Elektro- och informationsteknik Projektrapport, EITF11 Digitala Projekt Charlie Hedhav Sofia Johansson Louise Olsson 2016-05-17 Abstract During the course Digitala Projekt

Läs mer

SPORTident basenheter BSM7/BSF7/BSF8 mjukvara (firmware) 5.74

SPORTident basenheter BSM7/BSF7/BSF8 mjukvara (firmware) 5.74 2012-02-29 BSM7 / BSM7-USB BSF7 BSF8 SPORTident basenheter BSM7/BSF7/BSF8 mjukvara (firmware) 5.74 Sammanfattning BSF7 och BSM7 Samma storlek som BSF6 67% av vikten jämfört med BSF6 Litium batteri, en

Läs mer

Effektpedal för elgitarr

Effektpedal för elgitarr EITF11 - Digitala Projekt Effektpedal för elgitarr Handledare: Bertil Lindvall Ivan Rimac (I05) Jimmy Lundberg (I08) 2011-05-10 Contents Bakgrund... 3 Kravspecifikation... 3 Kravspecifikation Effektpedal...

Läs mer

Produktinformation för Sun Enterprise 420R

Produktinformation för Sun Enterprise 420R Produktinformation för Sun Enterprise 420R Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303-4900 USA 650 960-1300 Fax 650 969-9131 Artikelnummer: 806-1706-10 Januari 2000, utgåva A Skicka

Läs mer

BRUKSANVISNING APPlicator

BRUKSANVISNING APPlicator BRUKSANVISNING APPlicator Förpackningens innehåll Kontrollera noggrant innehållet i förpackningen: APPlicator-enhet USB-sladd Strömadapter Detta dokument Produktbeskrivning APPlicator är en trådlös kontaktlåda

Läs mer

Andromeda. Användning och Installation

Andromeda. Användning och Installation Andromeda Användning och Installation Innehåll 1. Introduktion... 2. Andromeda programvara installation... 3. Andromeda programvara uppdatering... 4. Data Linker anslutning... 5. Bruksanvisning 5.1. Firmware

Läs mer

ASSA RX. Webbaserat passersystem för dig som jobbar med annat. ASSA ABLOY, the global leader in door opening solutions. 1

ASSA RX. Webbaserat passersystem för dig som jobbar med annat. ASSA ABLOY, the global leader in door opening solutions. 1 ASSA RX Webbaserat passersystem för dig som jobbar med annat ASSA ABLOY, the global leader in door opening solutions. 1 Varför ska du välja ett passersystem till dina lokaler? Tanken med ett passersystem

Läs mer

ANVÄNDARMANUAL. handdatorer i ängs- och betesmarksinventeringen. för

ANVÄNDARMANUAL. handdatorer i ängs- och betesmarksinventeringen. för ANVÄNDARMANUAL handdatorer i ängs- och betesmarksinventeringen för Ändringshantering Ansvarig för dokumentet: Maria Hall Diemer Datum Ändring Ansvarig 2010-05-11 Dokumentet skapades (version 1.0.0) Edward

Läs mer

Datorsystem Laboration 2: Minnesmappade bussar

Datorsystem Laboration 2: Minnesmappade bussar Datorsystem Laboration 2: Minnesmappade bussar Senast uppdaterad: 14 oktober 2012 Version 1.2 Student: Lärare: Underskrift: Underskrift: Datum: Datorsystem Laboration 2 1 Innehåll 1 Inledning 2 1.1 Introduktion..................................

Läs mer

GSM-RELÄ MED 2 INGÅNGAR, 2 UTGÅNGAR. 850/900/1800/1900 MHz. GSMS-SW22 Manual

GSM-RELÄ MED 2 INGÅNGAR, 2 UTGÅNGAR. 850/900/1800/1900 MHz. GSMS-SW22 Manual GSM-RELÄ MED 2 INGÅNGAR, 2 UTGÅNGAR 850/900/1800/1900 MHz GSMS-SW22 Manual FJÄR R ST Y R T G SM -RELÄ ME D B R E T T A N V Ä N D INGSOM R Å D E Tillverkad i Sverige med svenska och icke-svenska komponenter

Läs mer

PDA-applikationer med.net

PDA-applikationer med.net Sid 1 av 7 Örebro universitet Institutionen för teknik Thomas Padron-McCarthy (Thomas.Padron-McCarthy@tech.oru.se) Tentamen i PDA-applikationer med.net (fristående kurs) lördag 17 december 2005 kl 14:00-19:00

Läs mer

Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP.

Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP. Laboration 1 Översikt 1. Att komma igång med laborationsmiljön a. installera Aptana Studio 3 b. Installera EasyPHP 2. Testa lite programmering a. Testa enkla uppgifter b. Testa automatiskt 3. Skapa inloggningsformulär

Läs mer

Trådlöst brandlarm. Systembeskrivning. Innehållet i detta dokument kan komma att ändras utan föregående varning. Honeywell Life Safety Sweden

Trådlöst brandlarm. Systembeskrivning. Innehållet i detta dokument kan komma att ändras utan föregående varning. Honeywell Life Safety Sweden Trådlöst brandlarm Honeywell Life Safety Sweden Systembeskrivning Innehållet i detta dokument kan komma att ändras utan föregående varning. Systembeskrivning trådlöst brandlarm Funktion Systemet tillhandahåller,

Läs mer

ANVÄNDARMANUAL. handdatorer i ängs- och betesmarksinventeringen. för

ANVÄNDARMANUAL. handdatorer i ängs- och betesmarksinventeringen. för ANVÄNDARMANUAL handdatorer i ängs- och betesmarksinventeringen för Ändringshantering Ansvarig för dokumentet: Maria Hall Diemer Datum Ändring Ansvarig 2010-05-11 Dokumentet skapades (version 1.0.0) Edward

Läs mer