Click to Rate and Give Feedback
MSDN
MSDN Library
.NET Development
Microsoft Press
 Index

  Switch on low bandwidth view
Microsoft Press
Index
Symbols | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Z

Symbols

3Soft, 14
8-bit processors, 4
8051 microcontroller, 232–33
10BASE-T, 91
10BASE-TX, 91
12C busses, 211
12C interfaces, 46
16-bit processors, 4
32-bit ARM, 232
32-bit processors, 4
+= operator, 44
–= operator, 44
$ character, 74, 75

A

abstract, 245
accelerometer emulator, 234
Accept method, 107, 108
Add method, 58
AddContent method, 170, 171
AddGlanceContent method, 171
address ranges, restrictions, 100
address space, input/output, 21
Analog namespace, 249
Any field, 102
API. See application programming interface (API)
App Domains, 242
Application, Managed, 188
Application class, 135–36
creating an application instance, 136–37
application programming interface (API), 92, 99
emulator elements, 211–12
SideShow, 239
application threads. See threads
applications, SideShow. See Windows SideShow
Applications = Code + Markup (Petzold), 135
ArgumentException, 193
arguments, command-line, emulator, 209–11
ARM toolset, 9
ARM7, 9, 14
ARM9, 9, 14
ArrangeOverride, 148
ArrayList, 244
data storage, 66
data types, 59–60
iteration, 81
storing log records, 58–59
threading issues, 63
arrays
creation of, 56
storing log records, 57–58
assemblies, 27
defined, 245
Friend Assemblies, 242
types, 210
Assembly qualified name, 201
attributes
data, 70
defined, 245

B

background threads, 46–47
backlog, 106–08
BackSensors, 248–49
ball-in-maze game. See EmbeddedFusion case study
Base Class Library (BCL), 8, 10
base keyword, 246
class constructors, 247
BCL. See Base Class Library (BCL)
Beckhoff, 14
BeginInvoke, 152–53
Berkeley Sockets API, 98
binary serialization, 253
Bind method, 106
binding, 106
emulator to user interface, 195–97
to hardware events, 149–53
Robot events, 228–29
bit-based control, 21–22
bit-masking, 109
bit-shifting, 109
Bitmap class
colors in .Net Micro Framework, 122–24
creating a Bitmap instance, 120
drawing on Bitmap, 120
flushing onto display hardware, 121–22
BitsPerPixel, 208
BitTorrent, 93
Block value, 207
“Blue Screen of Death,” 18
Bluetooth, 91
SideShow and, 159, 171, 238, 241
Visual Studio and, 13
body sensor networks, 89
Bonjour, 93
Boolean parameters, 39
/nomessagebox, 211
socket options, 104
/waitfordebugger, 210
bootable runtime, 6
bootstrap support, 6
broadcast routing, 100, 101
buffers, 39
conversion, 243
sending and receiving, connected flashlight, 109, 113
socket option, 104
building, deploying, and executing, Visual Studio, 31
busy waiting, 251
Button events, 149, 153
Button mapping, 153
ButtonDown, 153
buttonPort, 196–97
ButtonUp, 153
byte type, 123
byte[], 104, 109, 113

C

C/C++, 3
data storage, 67
C# compiler, 202
C# programming, I, 5, 19–20, 20–21
abstract, 245
Application class, 137
ArrayList, 58
base keyword, 246, 247
classes, 46
data access, 82, 83
data types, 255
default, Visual Studio, 29–31
enumerations, 247
exceptions, 52–53
foreach, 81
interfaces, 78–80
keywords, 29–30
managed code, 8
object transfer, 109
objects, 22, 39
parameter arrays, 219
reference type, 60, 253
serialization, 109
SideShow and, 162
static members, 254
subscripts, 254
streams, 67
this keyword, 255
weak references, 67–70
Calendar gadget, SideShow, 160
canvas, component placement, 140–41
Canvas class, 140–41
case studies
EmbeddedFusion ball-in-maze game, 231–36. See also EmbeddedFusion case study
Vista SideShow, 236–44. See also Windows SideShow case study
cast/casting, 246
checkedTime, 182–83
checksum, 61, 75
Child property, 155
Children class, 149
Citizen, 14
class constructors, 51–52
class hierarchies, 142
performance and, 84
class libraries, 7, 27, 244
classes. See also specific classes
abstract, 245
data members, 45–46
defined, 246
instances, 38
hierarchies and performance, 84
ports and, 22–23
private members, 252–53
protected members, 252
public members, 253
static, 253
ToString method, 51
CLI. See Common Language Infrastructure (CLI)
client/server model, 93
clients, 93
listening for, connected flashlight, 105
queuing, connected flashlight, 106
requests, processing, connected flashlight, 108
CLR. See common language runtime (CLR)
code, embedded, i
exception handling, 53
code, managed, 4–5, 6, 244
and Framework Libraries, 242
loops, 243
memory requirements, 5
.NET Micro Framework, 18
poor, 18
vs. native, 8
runtime, 6, 8
SideShow and, 162
code, native, 8
code generation, 19
code samples, downloadable, ii
Color type, 123
colors, .NET Micro Framework, 122–24
ColorUtility, 123
COM ports, 77, 78, 211
verifying, 218–19
command-line arguments, emulator, 209–11
/commandlinearguements, 210
commands, sending, Roomba, 223–24
Common Language Infrastructure (CLI), 18–19
common language runtime (CLR), 8, 188
HAL, 9
support for, 242, 244
Visual Studio, 13
CompareExchange method, 228
compilation, just-in-time (JIT), 20, 243, 256
compilers, 18
casting and, 246
data types, 255
compiling, 202
components. See also software components, device, building, 73
defined, 246
emulator. See Extensible Emulator
flexibility improvement, 76
reusability improvement, 76
testability improvement, 76–77
ComPort, 208
ComPortHandle, 208
ComputeExtent, 130
ComputeTextInRect, 144
/config argument, 209–10
Configuration class, 60–61
Configuration Engine, 189, 192,193, 209
configuration file, XML, 192, 198, 199, 201, 202
/config, 209–10
importing configurations, 209
ConfigurationMessage, 114
Configure method, 195, 203
Connect method, 102
connected flashlight device, 105
connecting to HQ from flashlight, 113–15
creating HQ server, 105–08
flashlight configuration protocol, 108–13
P2P flashlights, 117–18
updating HQ with UDP, 115–17
connection events, SideShow, 184–85
connections, accepting, connected flashlight, 107–08
ConnectME, 91
console application, 26–27
constructor, code, 38, 52
constructors, class, 51–52
defined, 246–47
errors and exceptions, 52
container objects, creating, 140
content endpoint, SideShow, 168–77
control, bit-based, 21–22
ControlThink, 14, 15
corner radius values, Bitmap, 126–27
Cos method, 85
Count property, 59, 81
Cpu.pin, 41
Create method, 103
Critical, priority level, 72
c_SurviveBoot, 71
c_SurvivePowerdown, 71
CurrentInputManager, 150

D

data
exporting, RS-232 serial port, 60–63
framing, 91
logging. See data logging, flashlight program
members, 45–46, 82–84
persistent, restoration, 70–73
priority levels, 72
receiving, connected flashlight, 113
receiving, Roomba, 220–21
retention, 65–73. See also data retention
storage. See data storage
types, ArrayList, 59–60
types, performance and, 85
data link layer, OSI model, 91
data logging, flashlight program, 50–63
array creation, 56
ArrayList, data types, 59–60
log records, storing in an array, 57–58
log records, storing in ArrayList, 58–59
data retention, 65. See also memory
data storage hardware, 65–66
extended weak references, 69–70
persistence and the emulator, 73
restoring persisted data, 70–73
storing data, 66–70
data storage, 66–70. See also memory
hardware, 65–66
weak delegates, 69
weak references, 67–69
data storage class, 50–51
database servers, 93
DataReceived, 78
DateTime structure, 50, 51, 52, 142, 177
Debug mode, 202
Debug object, 39
debugging, 20–21
/config, 209–10
EmbeddedFusion, 236
emulator, 73, 187
interactive, Visual Studio, 33
timers and, 204
Visual Studio and, 13
Debug.Print(), 29, 33, 202
decoder, GPS. See GPS decoder
deferred service routines (DSR), 10
delegates, 23, 42–43
defined, 247
flashlight timer, 49–50
weak, data storage, 69
deploying to a target device, Visual Studio, 31–32
Deserialize method, 109
development, 244
embedded. See embedded development
environment, SideShow, 241–242
with Extensible Emulator, 187–212. See also Extensible Emulator
device drivers. See software components, device, building
device emulation, 189–92. See also emulators; Extensible Emulator
Device Emulator, 29, 190. See also emulators; Extensible Emulators
ultimate flashlight device, 38
device simulators, 29, 242
vs. emulators, 187
DeviceCapabilities, 185
DeviceRemoved, 185
devices
deploying to, 31
embedded. See embedded devices
flashlight. See ultimate flashlight device
objects and, 46
SideShow. See Windows SideShow
small, 4–5
testability, improving, 77
DHCP, 95–96
Dialog page creation, SideShow, 181
Digi, 14, 91
DirtDetectLit, 223–24, 226
disconnection events, SideShow, 184–85
disk storage, 65
Dispatcher, 152
display capabilities, SideShow, 243
display element hierarchy, 142–43
display elements
hierarchy, 142–43
updating, 141–42
windows and, 137–42
display hardware, flushing Bitmap to, 121–22
distributed transient networking, 93
DLLs (dynamic link libraries), 199
DNS. See Domain Name System (DNS)
Dns class, 102–03
DnsAddress, 96
DoControl method, 84
Domain Name System (DNS), 96
severs, 93
doNormalBehaviour, 168
dot notation, 95
dots-per-inch (dpi) systems, 11
doUpdateDevice, 168
downloads, code sample, ii
DrawImage method, 122, 128
drawing shapes. See shapes, drawing
drawing images. See images, drawing
drawing text. See text, drawing
DrawingContext, 145
DrawInTextRect, 131
DrawLine method, 120
DrawRectangle method, 124–25
DrawText method, 130, 131
DrawTextInRect, 131–32, 133–34, 145, 146
drivers
platform integration, 9
DSP Design, 14
DSR. See deferred service routines (DSR)
dumpLog method, 58
dynamic link libraries (DLLs), 199

E

ECMA. See European Computer Manufacturers Association (ECMA)
EEPROM (Electrically Erasable Programmable Read-Only Memory), 65, 247
EmbeddedFusion, 14, 231
EmbeddedFusion case study, 231
design approach, 234–35
device description, 231–32
.NET Micro Framework, 232–34
.NET Micro Framework and Visual Studio, 235–36
ship mode, 236
embedded code. See code, embedded
embedded development, I, 20, 241, 244
embedded devices, i, 4, 8, 11, 20–21, 53, 76, 89, 91, 94, 102, 205, 231
networking. See networking
embedded products, 3–4, 5–6
.NET Framework and, 5–6
.NET Micro Framework and, 8
Emtrion, 14
emulation, 12–13, 187
Emulator, Microsoft, 28, 29. See also emulators; Extensible Emulator
EmulatorComponents, 193
Emulator.config, 192
emulators, 29, 76–77
accelerometer, 234
debugging, 33
network interfaces, 98
persistence and, 73
problems with, 242
registration of, Visual Studio, 191
socket exception, 104–05
ultimate flashlight device, 38
Enable User Control message, 221
EnableDhcp method, 96
EnableStaticDns method, 96
EnableStaticIP method, 95, 96
Encoding.UEF8.GetBytes method, 61
EndPoint class, 102–03, 107–08, 116
endpoints, content and, SideShow, 168–77
energy efficiency, 6, 8, 10. See also power consumption
Enter method, 48, 225
entry ports, 30
enumeration, 40
available network interfaces, 98
defined, 247
ErrorCode, 104
errors
connection refused, 107
constructors, and exceptions, 52
content delivery, SideShow, 171
emulator, 193, 203
exception handling, 53
execution, 8
handling, 55–56
native code vs. managed code, 8
socket options, 104–05
Winsock codes, socket exceptions, 105
Ethernet physical layer, 91
European Computer Manufacturers Association (ECMA), 8, 19–20
events
binding. See binding
Button, 149, 153
connecting to interrupt handler, 44
Exception class, 104
inputs with, 42–43
Robot, 228–29
user input with, 149–53
exception handling, 53, 69
exceptionFun, 55
exceptions
in C#, 52–53
catching, 53–54
custom components, emulators, 203
design, 55–56
emulators, 203, 211
and errors, constructors, 52
extracting information from, 54
finally block, 54–55, 56
ports, emulator, 193
serialization, 70
socket option, 104–05
throwing, 53
Types, emulator, 193
execution (code), 8
Exit method, 225
exportData method, 61, 62
extended weak references
creating, 71
data retention, 69–70
recovering data, 72–73
setting properties, 71–73
ExtendedWeakReference, 71
Extensible Application Markup Language (XAML), 11, 135
Extensible Emulator, 25, 187, 244. See also emulators
adding emulated components, 192–98
advanced techniques, 209–12
built-in components, 205–09
components, downloadable
- sharing of, 189
creating components, 198–204
design of, 188–89
emulating your device, 189–92
importing configurations, 209
Extensible Markup Language (XML)
configuration file, 192, 198, 199, 201, 202, 209–10
Configure method, 195
parser, 242
serialization, 253
SideShow and, 162, 169, 172–73, 241

F

file servers, 93
file sharing protocols, 93
File Transfer Protocol (FTP), 93
filing systems, 65, 67
finally block, exceptions, 54–55, 56
FindComponentById, 196
finder feature, flashlight, 46–49
flags, 52, 71, 108, 114, 173, 226–27
compilation, 234
conditional compilation, 234
data, 66, 70
timing problems, 227
flash memory, 65–66, 205, 206, 211, 231
Intel StrataFlash, 69–70
serialization, 70
updating, 236
flashlight device. See ultimate flashlight device
FlashlightButton, 195
FlashlightForm class, 194–95
FlashlightLog, 69, 73
FlashlightUse, 51, 52, 53, 56, 59, 66–68, 70, 81
FlashlightUseLog, 70, 72, 73
FlashManager, 206
FlashSector, 206
flat objects, 109
flexibility, improving, 76
float cosine method, 254
float random method, 254
float sine method, 254
Flush method, 61, 121
Font class, 129, 130, 143
footprint, 5–6, 7, 8
foreach construction, 60, 81
foreground threads, 46–47
Forms application, 43
Framework Libraries, 7, 10, 27–28, 188
emulator, 199
and managed code, 242
framing, data, 91
FreeScale, 14
i.MXS .NET Development kit, 69–70, 215
i.MXS processor, 231
FreeScale development board, 32
Friend Assemblies, 242
friendly names, 192
FrontSensors, 248–49
FTP. See File Transfer Protocol (FTP)
fully qualified names, 247
function pointers, 43

G

GAC (Global Assembly Cache), 201–02
Gacutil.exe, 201
gadget applications, SideShow, 158, 159, 160–61, 236–37, 239
content updates, 161
creating, 164
events, 184
registering, 164–67
running, 167–68
GadgetRegistration class, 165
gadgets, SideShow, 236–37, 239. See also gadget applications, SideShow
garbage collector (GC), 67–68, 69, 71, 86, 152, 243–44
GatewayAddress, 95–96
gateways, 95
GC. See garbage collector (GC)
Get method, 79, 83
GetAddressBytes, 102
GetAllNetworkInterfaces, 94
GetCapabilitiesForDevices, 177
GetHostEntry, 102
GetPixel, 123
GetPosition, 75
GetSocketOption, 103–04
glance content, SideShow, 171–72
Global Assembly Cache (GAC), 201–02
Global Positioning System (GPS)
decoder. See GPS decoder
globally unique identifier (GUID), 164–65, 166
Gnutella, 93
Gpio pin, 3, 151, 196, 199, 204
Gpio ports, 192–93, 207–08
GpioButtonInputProvider, 153
GpioCollection, 207–08
GPIOInterruptEventHandler, 44
GpioPin, 203
GpioPort, 193, 194, 197, 199, 207–08
GpioSquareWave project, 199–202
GpioToButtons, 149, 151–52
GPS decoder, 73–75
C# interfaces, 78–80
component state and properties, 75–77
message pump creation, 77–78
graduated fills, Bitmap, 124–25
graphics, creating, SideShow, 173–77
Grid Computing, 93
GUID (globally unique identifier), 164–65, 166, 170
GuidGen, 165
Gyration, 15

H

HAL. See hardware abstraction layer (HAL)
hardware
data storage, 65–66
display, flushing Bitmap to, 121–22
events, binding to, 149–53
object-based representation, 21–22
requirements, SideShow development, 162–63
hardware abstraction layer (HAL), 7, 9–10
Extensible Emulator, 188
platform integration, .NET Micro Framework, 9
wait loops, 86
hierarchy, defined, 247
high-level languages, 19, 20
HKEY_CURRENT_USER, 164, 165
HKEY_LOCAL_MACHINE, 164, 165
HorizontalAlignment property, 143
HQ server creation, connected flashlight, 105–08
HTTP (Hypertext Transfer Protocol), 93
Hypertext Transfer Protocol (HTTP), 93

I

I2C interface, 198, 231
ICAL endpoints, 169
ID attributes, Extensible Emulator, 193
ID value, 71
IDE (integrated development environment), 235
IdentityMessage, 112, 114
IEEE. See Institute of Electrical and Electronics Engineers (IEEE)
IGPS interface, 79–80
Image component, 147
ImageContentTransforms, 173, 174
images, drawing, 128
SideShow, 174–75
images, scaling, 129
SideShow, 176–77
images, displaying, 147
custom images, creating, 147–48
custom-panel size behavior,148–49
panel class, 149
SideShow, 175
immutable, 247–48
Important, priority level, 72
#include, 29
independent software vendors (ISV)
application, 14
porting, 14
Infra Red, 159
infrared communications, 102
inheritance
defined, 248
ports and, 46
InitializeComponent method, 195–96
input/output, memory-mapped, 21
input-port objects, 40
InputManager class, 149–50
InputOutputPort, 193
InputPort, 23, 42, 46
InputProviderSite, 150
InputReport method, 150
inputs
with events, 42–43
with user events, 149–53
instances
Bitmap, creating, 120
class, 38
references and, 39
Institute of Electrical and Electronics Engineers (IEEE), 91, 94
integrated development environment (IDE), 235
Intel StrataFlash memory device, 69–70
IntelliSense, 29, 83, 235
interactive debugging, Visual Studio, 22
interfaces
C#, 78–80
defined, 248
design with, components and, 80
JTAG, 236
network, 94–97
user, creating, 154–55
interfacing, serial, 216–17
Inter-Integrated Circuit (I2C) bus drivers, 198
Interlink, 15
Interlocked class, 227–28
intermediate-level languages, 19, 20
Internet Protocol (IP), 90, 92
Internet zero (I0), 89
InterNetwork, 105
interopt, 242
interpreters, 243
interrupt handling/handlers, 6, 42
events, connecting to, 44
method, 43
interrupt service routine (ISR), 9
InterruptEdgeBoth, 151
InterruptPort, 23, 42, 44, 46, 150–51
interrupts, 23, 42
flashlight program, 44–45
preventing, Interlocked class, 227–28
Intrinsyc, 14
Invalidate method, 142
InvalidateLayout, 142
InvalidateMeasure, 142
IP (Internet Protocol), 90
IP addresses, 94–96
binding, connected flashlight, 106
IP packets, 101
IPAddress, 95, 102
IPAddress.Any, 102
IPAddress.Loopback, 102
Ipconfig, 97–99
IPEndPoint, 102–03, 106
IPHostEntry, 102
IPv4 addresses, 95
IrDAEndpoint, 102
iRobot Roomba, 215–18
receiving data, 220–21
sending a simple message, 219–20
verifying serial connection, 218–19
IsALive property, 69
IsDchpEnabled property, 96
IsDynamicDnsEnabled, 96
ISR. See interrupt service routine (ISR)
ISVs. See independent software vendors (ISVs)
iteration
improving, 81–82
text buffer, 243

J

Joint Test Action Group (JTAG)
interface, 236
just-in-time (JIT) compilation, 20, 243, 256

K

KeepAspectRatio, 174
KeepFrequentlyAccessed, 166
KeepNewest, 166
KeepOldest, 166
KeepRecentlyAccessed, 166
kernels, HAL and, 9
keywords
base, 246, 247
C#, 29–30
this, 255
throw, 53
value, 252

L

lampOutput, 39
lampPin, 42
lampPort, 196–97
languages
intermediate, 19, 20
high-level, 19, 20
laptop system, SideShow integration, 237–38
LastMessageCode, 79
latency, Roomba performance, 229
layers, OSI model, 90–93
LcdDisplay, 208
LCDs (liquid crystal displays), 11, 119, 120, 198, 211, 243
LEDs. See light-emitting diodes (LEDs)
ledsDirty, 226–27, 228
length, text, calculating, 130–31
Length property, 58, 59
Leviton, 14, 15
libraries, class. See class libraries
libraries
defined, 248
dynamic link libraries (DLLs), 199
Framework. See Framework Libraries
resource, 135
SideShow, 164
light-emitting diodes (LEDs), 119
Roomba, 223–24, 226–27
Line class, 149
liquid crystal displays (LCDs), 11, 119, 120, 198, 211, 243
ListBox, 149, 153, 154–55
ListBoxItem, 153, 154–55
ListBoxWithSelect, 155
Listen method, 104
connected flashlight, 106–07, 108
/load argument, 210
LocalEndPoint, 106
localization, 30
log records
storing in an array, 57–58
storing in an ArrayList, 58–59
logging data. See data logging, flashlight program
LogItem, 61
Loopback field, 102
loops. See managed-code loops; wait loops

M

MAC (media access control), 91
MAC address, 94
Main method, 41, 45, 46, 48–49, 135–36, 168
Managed Application, 188
managed code. See code, managed managed code loops, 243
MaxConnections, 104
MeasureOverride, 148
MEDC (Microsoft Mobile and Embedded Developer’s Conference), 231
media access control (MAC), 91
Media Center remote control, 238
member data, accessing, 82–84
memoGadget, 170
memoGadget_DeviceAdded, 185
memoGadget_DeviceRemoved, 185
memory
data storage, 65
EEPROM, 65, 247
evolving capabilities, 4
flash memory, 65–66, 205, 206, 211, 231, 236
managed code requirements, 5, 8
MemoryManager, 205–07
nonvolatile, 65
.NET Micro Framework requirements, 5, 14
Random Access (RAM), 65, 205, 211, 231, 247
read-only (ROM), 65, 247
usage, 243
memory management unit (MMU), 5
MemoryManager, 205–07
memory-mapped input/output, 21
menu page creation, SideShow, 178–79
Meridian CPU, 231, 233
message pump, creating, 77–78
messageFont, 131
messages, sending, Roomba, 219–20
messageString, 133
metadata, 19, 20, 27
Metadata Processor, 13
MeterDialPanel, 147
methods, 42–43. See also specific methods
interrupt-handler, 43
microcontrollers, 232
MicroFlashlight project
advanced techniques, 209–12
application creation, 189
application development, 189
components, adding, 192–98
components, built-in, 205–09
components, custom, creating, 198–05
configurations, importing, 209
project creation, 190–92
Microsoft Emulator, 28, 29. See also emulators; Extensible Emulator
Microsoft intermediate language (MSIL), 8, 256
emulator and, 202
Microsoft Mobile and Embedded Developer’s Conference (MEDC), 231
Microsoft .NET Framework. See .NET Framework
Microsoft .NET Micro Framework. See .NET Micro Framework
Microsoft Office Outlook 2007, SideShow and, 162
Microsoft Research, .NET Framework, 3
Microsoft TV, 3
Microsoft Virtual Basic. See Virtual Basic
Microsoft Visual Studio. See Visual Studio
Microsoft Windows CE. See Windows CE
Microsoft Windows Installer (MSI), 26
Microsoft Windows XP Embedded (Widows XPe). See Windows XP Embedded (Windows XPe)
Microsoft.SideShow.Simple-ContentFormat, 172
Microsoft.SPOT, 27–28, 29, 42
serialization, 109
Microsoft.SPOT.Emulator namespaces, 211–12
Microsoft.SPOT.Hardware, 27, 42
Microsoft.SPOT.Math, 85, 148
Microsoft.SPOT.Messaging, 27
Microsoft.SPOT.Native, 27
Micrososft.SPOT.Net, 94
network information, 94–99
Microsoft.SPOT.Presentation, 120
Microsoft.SPOT.Presentation. Media, 123
Micrososft.SPOT.Presentation. Media.Colors, 122
MMU. See memory management unit (MMU)
Mobile PC group, Microsoft, 236
Mobility Center, 236
ModesAllowed, 207
ModesExpected, 207
Monitor class, 255
Monitor mechanism, 48, 63, 224
monitorGPSData, 78
monitorLogRequests method, 62
monitors, threads management, 224–25
Mono, 8
Moore’s Law, 232
MPC Data, 14
MSI (Microsoft Windows Installer), 26
MSIL. See Microsoft intermediate language (MSIL)
multicast routing, 100, 101
myCanvas, 141
myGpioToButton, 152

N

Name property, resources, 127
names
Assembly qualified, 201
friendly, 192
fully qualified, 247
strong, 202
namespaces, 247
defined, 248–50
emulator, 200, 209, 211–12
Framework Libraries, 10
log record storage, 58
networking, 94
root, 27
SideShow, 172
System.Net, 101–03
System.Net.Sockets, 103–05
System.Threading, 227–28
native code. See code, native
Native Image Generation (NGEN), 20
navigation events, SideShow, 182–84
near-field communications (NFC), 89
NeedleValue, 147
.NET 3.0, 11
.NET Framework, 17. See also .NET Compact Framework; .NET Micro Framework
assemblies, 245
bootable runtime, 7
colors in, 122–24
Common Language Infrastructure (CLI), 19–20
developer needs, 17
development for, 65–86
Dns class, 102
embedded products and, 5–6
Framework Libraries, 10
HAL, 9–10
history, 3–5
introduction, i–ii
just-in-time (JIT) compilation, 20
object-based representation, 21–23
overview, 6–9
socket class, 103
string manipulation, 86
system requirements, i–ii, 14–15
user interface “shell,” 10–12
Visual Studio integration, 12–13, 241–44
.NET Compact Framework, 5
Framework Libraries, 10
just-in-time (JIT) compilation, 20
.NET Micro Framework, 17. See also .NET Framework
adding resources, 127–28
bitmap support, 119
challenges of, 20–21
Class Library, 26
Console Application, 26
cost benefits, 4–6
data storage and retention, 65–73
developer needs, 17
Device Emulator, 26, 190
Dns class, 102
embedded products, 5–6
EmbeddedFusion, 232–34, 235–36
emulator, 73, 187–88
emulator namespaces, 211–12
Framework Libraries, 10, 27–28
garbage collector (GC), 67–68, 69, 71, 86
history, 4–5
interface display creation, 119–56
interrupt-handler method, 43
introduction, i–ii
managed code, 18
memory requirements, 5
networking, 90–91
new projects, 189
object-based representation, 21–23
operating systems, 6, 7
platform integration and porting, 9
project creation, 189
serialization, 109
SDK installation, 26
SideShow and, 157, 239–41. See also SideShow
socket class, 103
system requirements, i–ii, 14–15
threads, 255
user interface “shell,” 10–12
Visual Studio and. See Visual Studio
Visual Studio integration, 12–13
Window Application, 26
and WPF, 135
network-embedded device. Seenetworking
network interfaces, 94–97
network layer, OSI model, 91–92
Network Time Protocol (NTP), 93
network time servers, 93
NetworkInformation, 94
networking, 89
client/server model, 93
connected flashlight, 105–18
Layer 1: physical, 91
Layer 2: data link, 91
Layer 3: network, 91–92
Layer 4: transport, 92
Layer 5: session, 92
Layer 6: presentation, 92
Layer 7: application, 93
Microsoft.SPOT.Net, 94–99
OSI model, 89–91
peer-to-peer model, 93–94
System.Net namespace, 101–03
System.Net.Sockets namespace, 103–05
TCP/IP programming with sockets, 99–101
NetworkInterface, 94, 95, 96
NetworkInterfaceType, 97
new keyword, 120, 250
New Project, .NET Micro Framework, 189, 190
new project creation, Visual Studio, 26–27
NFC (near-field communications), 89
NGEN. See Native Image Generation (NGEN)
NiceToHave, priority level, 72
/nodefaultconfig argument, 210–11
/nomessagebox argument, 211
nonvolatile memory, 65
notifications, displaying, SideShow, 177–78
NTP (Network Time Protocol), 93
null keyword/value, 56–57, 67, 71, 72

O

object-based representation, hardware
bit-based control, 21–22
memory mapped input/output, 21
ports as object instances, 22–23
object class, 59, 250
object graph, 109
object instances
ports as, 22
and threads, 224–28
object management, 86
object-oriented (OO) method, 244
objects
container, creating, 140
controlling, 39–40
defined, 250
delegates as, 247
devices and, 46
flat, 109
immutable, 247–48
input-port, 40
management of, 86
memory usage, 244
networking, 94
output-port, creating, 38
representative, building, Roomba, 221–24
string, buffering, 243
ODBC (Open Database Connectivity), 93
OEMs. See original equipment manufacturers (OEMs)
OkayToThrowAway, priority level, 72
OnButtonDown, 153, 155
OnButtonUp, 153
OnGpioActivity, 197
OnInterrupt, 44
OnRender, 144–45
opacity settings, Bitmap, 125–26
Open Database Connectivity (ODBC), 93
Open Systems Interconnection
Basic Reference Model. See OSI model
OpenNETCF, 14
operating systems, and .NET Micro Framework, 6, 7
organizational unique identifier (OUI), 94
original equipment manufacturers (OEMs), 14–15
OSI model, 89–91
layers of, 91–93
OUI (organizational unique identifier), 94
output, driving, ultimate flashlight device, 38
output-port object, creating, 38
OutputPort class, 22, 38, 39
OutputPort instance, 39
overload, 250
override, 250–51

P

P2P. See peer-to-peer (P2P) model
packets, 100
paged display component, creating, 144–46
PagedTextPanel, 144, 146
PAL. See Platform Adaptation Layer (PAL)
Panel class, 149
Panel display element, 144
panels, 147–48
custom-panel size behavior, 148–49
parameter arrays, 219
parsing
text buffer, 243
XML, 242
Partition value, 206
PC emulation, 12–13
peer-to-peer (P2P) model, 93–94
connected flashlight, 117–18
performance. See also performance, programming for
class hierarchies and, 84
data types and, 85
tradeoffs, Roomba, 229
wait loops and, 85–86
performance, programming for, 80–81
data types and performance, 85
iteration improvement, 81–82
member data access, 82–84
memory usage, 243
object management, 86
performance and class hierarchies, 84–85
wait loops and system performance, 85–86
persistence, emulator and, 73
persistent data restoration, 70–73
Philips, 15
physical devices, deployment to, 31
physical layer, OSI model, 91
PhysicalAddress property, 94
PinInterruptHandler, 151, 152
pins, and input-port objects, 40
pixelColor, 123
Platform Adaptation Layer (PAL), 7
platform integration, .NET Micro Framework, 9
Platform Builder, Windows CE, 5
platform integration, .NET Micro Framework, 9
pointers, function, 43
Poll method, 113
polling, 42, 77–78
connected flashlight, 113
defined, 251
pop-up menus, SideShow, 179–80
port mapping, 153
Portal Player, 14
porting, .NET Micro Framework, 9
Porting Kit, 9
ports, 21
COM, 77, 78, 211
defined, 251
inheritance, 46
input/output, 192, 193, 211
mapping, 153
as object instances, 22–23
serial, 78, 198
TCP/IP programming, 99
power consumption, 6, 8, 10
SideShow, 236, 240
wait loops and, 86
Power Management, 236
Presentation class, 136
presentation layer, OSI model, 92
Print method, 39
private members, 251, 252–53
private variable, 75
process management, 6
ProcessClient, 112
processors. See specific processors profiler, 242
program, ultimate flashlight, 41–42
Program.cs, 29
programming, for performance. See performance, programming for
project settings, Visual Studio, 28
property, defined, 251–52
protected members, 252
ProtocolType.Tcp, 103
public members, 253
Push_Button, 196

Q

Quarter Video Graphics Adapter (QVGA), 215

R

radio frequency identification (RFID), 89
RAM (Random Access Memory), 65, 205, 211, 247. See also memory
RAMManager, 205–06
Random Access Memory (RAM), 65, 205, 211, 231, 247. See also memory
RawButtonInputReport method, 150, 152–53
Read method, 39, 62, 78
read-only memory (EEPROM), 65
readingCommand, 75
ReadMessage method, 220–21
Receipt class, 245
receive method, 113
ReceiveBuffer, 113
ReceiveChar, 79
ReceiveFrom, 116
record tag, 67
Recover, 71
RecoverOrCreate, 71
Rectangle class, 149
rectangles, drawing, Bitmap, 124–27
text in, 131
references
defined, 253
instances and, 39
strong, data storage, 67–68
weak, data storage, 67–70
Register method, 165
Reflection class, 253
registration, gadget applications, 164–67
regserver command, 163
Release mode, 202
ReleaseDhcpLease, 96
remote control, Media Center, 238
remote procedure call (RPC), 13
RemoteEndPoint, 107
RenderHeight, 144
RenderWidth, 144
RenewDchpLease, 96
ReportInput method, 150, 153
Reset method, 79
ResistorMode, 40
ResistorMode.None, 40
ResistorMode.PullDown, 40
ResistorMode.PullUp, 40
resource editor, 30
resource libraries, 136
resources
adding to .NET Micro Framework, 127–128
project, 30
string, 30, 33
Resources.Designer.cs, 31
Resources.resx, 30
reusability, improving, 76
RevokeAllNotification, 178
RevokeNotification, 178
RFMD, 14
Ricavision, 15
robot-control project
building a representative Roomba
object, 221–24
iRobot Roomba, 215–21
object instances and threads, 224–28
performance tradeoffs, 229
robot events, 228–29
RobotUpdate, 227
Rohde Consulting, 14
ROM. See memory
Roomba. See iRobot Roomba
RoombaRobot class, 221, 225
root namespace, 27
router, 95
routing, 100, 101
RPC. See remote procedure call (RPC)
RS-232 serial port, 46, 50
configuring, 60–61
exporting data, 60–63
receiving data, 62–63
Roomba interface, 216
transmitting data, 61
Run as administrator command, 163
Run method, 137
runtime, 6. See also bootable runtime; common language runtime (CLR)
CLR, 8
socket option exceptions, 104

S

sample emulators, 29
scaling, image, 129
Scf class, 172
SCF endpoints, 169
SCF helper class, 172–73
SCF messages, 161, 162
ScfAlign, 174
Scf.Content, 173
ScfImageFit, 174–75
ScfSideShowGadget, 170
SCI (Serial Command Interface), 216, 220, 221
ScreenColorDepth, 123
SDK (software development kit), .NET Micro Framework, 15, 103
configuration file, 192
Extensible Emulator, 188
installing, 26
SideShow and, 162, 242
Secure Socket Layer (SSL), 102
security
managed code and, 8
SelectMode.SelectError, 113
SelectMode.SelectWrite, 113
SendMessage method, 219–20
Roomba device, 225
SendTo, 116
SensorReading, 248–49
Serial Command Interface (SCI), 216
serial communications ports. See COM ports
serial connection, verifying, Roomba, 218–19
serial interfacing, 216–17
serial peripheral interface (SPI) devices, 212
serial ports, 78, 198, 211, 216–19. See also RS-232 serial port
SerialHardwareTest method, 218–19
serialization, 70
binary, 253
connected flashlight, 109
defined, 253–54
helper code, 110–11
reflection and, 253
XML, 253
Serialize method, 103, 109
SerialPort class, 60–61
SerialPort.Configuration class, 61
SerialPort.Write method, 219
service provider interface (SPI), 231
session layer, OSI model, 92
Set method, 82, 83
SetButtonState, 195, 197
SetDate, 250
SetLampState method, 195, 197
SetLeft method, 141
SetSocketOption, 103–04
SetTop method, 141
Setup methods, 203–04
SetupComponent method, 195
setupThread method, 226
SetX method, 82
Shape class, 149
shapes, drawing, 124
graduated filled rectangles, 124–25
opaque rectangles, 125–26
plain filled rectangles, 124
rounded corners, 126–27
ship mode, 236
ShowMessagePage, 133–34
ShowNotification, 177
SideShow. See Windows SideShow
signature, 254
Simple Content Format (SCF) messages, 161, 162
Simple Mail Transfer Protocol (SMTP), 93
simulators, 29, 242
vs. emulators, 187
Sin method, 85
Single-Threaded Apartment model, 171
SJJ Embedded, 14
Sleep method, 45, 47, 49, 86, 251
small devices, 4–5
Smart Device development, 187
Smart Personal Objects Technology (SPOT), 4, 6, 27
Smart Watch with MSN Direct, 3
SMK, 15
SMPT. See Simple Mail Transfer Protocol (SMTP)
sn.exe, 202
snowflake example, 127, 128
socket API, 92
Socket class, 102, 103–05
socket options, 92, 103–04
SocketAddress, 102–03
SocketException, 104–05
SocketOptionLevel, 103
SocketOptionLevel.Udp, 103
SocketOptionName, 103, 104
sockets, TCP/IP programming with, 99–101
software components, device, building, 73
C# interfaces, 78–80
design with, 80
embedded, event-driven, 73–75
GPS, 75–77
message pump creation, 77–78
software development kit (SDK). See SDK (software development kit), .NET Micro Framework
Solution Explorer, 27, 28, 30, 190
Special Computing, 14
SPI (serial peripheral interface) devices, 212
SPI (service provider interface), 231
spoofing, MAC address, 94
SPOT. See Smart Personal Objects Technology (SPOT)
Sprite class, 82–83, 84, 86
square-wave signal generator, 199
GpioSquareWave project, 199–102
SquareWave pin, 203
SSL (Secure Socket Layer), 102
StackPanel, 137, 138–40, 154
StartForm method, 196
StartMessage, 133
state parameter, 153
State property, 75
stateValue, 75
static
classes, 46, 102, 141, 150, 152
defined, 254
members, 71
methods, 30, 94–96, 109, 165, 172
storeUseRecord method, 57
streams, 67
StretchImage method, 128, 129
string manipulation, 86
string resources, 30
string search method, 243
StringBuilder, 86
strings
buffering, 243
serialization, 109
trimmed, 133
strong names, 202
strong references, 67–68
structure, defined, 254
SubnetMask, 95
subscript, defined, 254
Swaney, Rick, 236–37
synchronization
issues, Roomba, 227
thread, 47–48
System, priority level, 72
system performance. See performance
System.Attribute, 245
SystemClockFrequency, 209
System.Collections namespace, 58
System.IO.Port.SerialPort, 78
SystemMetrics class, 120, 123
System.Net, 94, 99, 101–03
Dns class, 102–03
System.Net.Dns, 96
System.Net.Sockets namespace, 103
socket class, 103–05
System.Reflection, 253
System.Threading, 227–28
switchInterrupt, 48
switchPin, 42

T

Tahoe development kit/board, 231, 233–34
target device, deploying to, Visual Studio, 31–32
Target property, 68, 69
TCP. See Transmission Control Protocol (TCP)
TCP/IP model, 90, 99
ports, 99
SideShow and, 158
TCP, 101
UDP, 100–01
testability, improving, 76–77
text, displaying, 143–44
paged display component, 144–46
text, drawing, 129
Bitmap, 130
building a display, 131–33
calculating length of rendered
text, 130–31
large amounts of text, 133–34
in rectangle, 131
WPF and .Net Micro Framework, 135
Text class, 143–44
text length, calculating, 130–31
Text property, 192
TextWrap, 144
this keyword, 255
threading, 6, 63
threads
creating, 48–49
defined, 255
foreground and background, 46–47
HAL and, 9
interruptions, preventing, using Interlocked class, 227–28
management of with monitors, 224–27
and object instances, 224
Roomba performance, 229
safety, GPS decoder, 74
synchronization, 47–48
timing problems with flags, 227
throw keyword, 53
throwing, exceptions, 53
Ticks property, 53
timer, flashlight finder program, 49–50
Timer class, 49
timers, 204, 212
timespan, 50
TimeSpan structure, 50, 51, 53, 177
TimingServices, 208–09
ToString method, 51, 61, 250–51
Transient Multi-mon, 236
Transition method, 204
Transmission Control Protocol (TPC), 90, 92, 101. See also TCP/IP model
transport layer, OSI model, 92
try-catch construction, 53–55, 56
type safe, 43, 253
Type.AssemblyQualifiedName, 201
Type.GetType, 201
types, 255
ArrayList, 59–60
performance and, 85
Types, XML configuration file, 201, 205

U

UDP. See User Datagram Protocol (UDP)
UI. See user interface (UI)
UIElement, 142–43, 153–54
ultimate flashlight device, 37–38
complete program, 41–42
connected device, networking. See connected flashlight device
data-logging flashlight, 50–56
data storage, 66
driving the output, 38
exporting data, 60–63
Extensive Emulator project. See MicroFlashlight project
flashlight-finder feature, implementing with threads, 46–49
flashlight-finder feature, implementing with timer, 49–50
input with events, 42–44
input-port objects, 40
interrupts, 44–46
logging the data, 56–60
SideShow application, 163–67
ultra-wide band (UWB), 89
unicast routing, 101
Uniform Resource Locator (URL), 96
unit test, 255–56
updateContent, 182–83
UpdateReceived, 74, 79
UpdateSensors method, 222, 224, 225–26
UPnP, 94
URL (Uniform Resource Locator), 96
USB connections, 12–13, 14, 15
SideShow and, 159, 171
UseLog, 58, 81
useLogExtendedWeakReference, 68, 71
Usenet, 93
User Datagram Protocol (UDP), 90, 92
TCP/IP programming, 100–01
updating HQ, connected flashlight, 115–17
user input and events, 149
binding to hardware events, 149–53
using button events, 153
user interface (UI), 10–12, 30–31
binding emulator to, 195–97
creating, 154–55
emulator, creating, 194–95
model, 243
shell, SideShow, 241
SideShow as, 157–85. See also Windows SideShow
user interface “shell,” 10–12
SideShow, 241
user port range, 106

V

vacuum cleaner. See iRobot Roomba
value keyword, 252
value type, 256
/verbose argument, 211
VerticalAlignment property, 143
Virtual Basic, 3
virtual machine, 256
virtual method, 256
VirtualSideShow.exe, 163, 169
Visibility property, 142
Vista. See Windows Vista
Vista SideShow. See Windows SideShow
Vista SideShow case study. See Windows SideShow case study
Visual Studio, 4, 25–26
2005 version, 15, 39, 127, 162
building, deploying, and executing, 31
C# code, default, 29–31
command-line arguments, 209
debugging, interactive, 33
EmbeddedFusion, 235–36
Extensible Emulator, 188, 189, 191
integration, 12–13
IntelliSense, 29, 83, 235
managed code, 8
.NET Micro Framework and, 241–44
new project creation, 26–27
project settings, 28
Resources tab, 127–28
SideShow and, 162
supported versions of, 26
target device, deploying to, 31–32
Visual Studio Express, 26
Voice over Internet Protocol (VoIP), 100
VoIP (Voice over Internet Protocol), 100
volatile qualifier, 251
voltage converter, 216

W

wait loops, 85–86
/waitfordebugger argument, 210
waitingForStart, 75
weak delegates, data storage, 69
weak references, data storage, 67–69
extended. See extended weak references
WeakReference class, 68
Web servers, 93
Weschler Consulting, 14
WiBree, 89
WiFi network, 98
SideShow and, 159, 171, 238
WiFi physical layer, 91
Win32, 9
Winbond, 14
Window instance, 137–38
windows and display elements, 137–38
placing components with the canvas, 140–41
StackPanel, 138–40
updating display elements, 141–142
Windows CE, 5, 7, 8
Platform Builder, 5
Windows Driver Kit, 158
Windows Embedded CE, 240
Windows Forms, 119, 123
Windows Media Player, 158
Windows Mobile, 76, 187
Windows Presentation Foundation (WPF), 11
advanced text display, 134
class hierarchies, 142–43
and .NET Micro Framework, 135
Windows SideShow, 3, 12, 15, 157–158
applications, creating and deploying, 162–68
content and endpoints, 168–77
device events, 182–85
device management, 159–60
device operation, 158
device use, 185
dialogue page, creating, 181
display capabilities, 243
display notifications, 177–78
flashlight application, 163–67
gadget operations, 160–61. See also gadget applications, SideShow and
graphics, 173–177
libraries, 164
menu page, creating, 178–79
pop-up menu display, 179–80
and Windows Vista Sidebar, 159
Windows SideShow case study, 236
design approach, 240–41
device description, 237–39
.NET Micro Framework, 239–40
.NET Framework and Visual Studio, 241–44
Rick Swaney and Vista SideShow, 236–37
Windows Vista, 11, 98
Sidebar, SideShow and, 159
Windows XP Embedded (Windows XPe), 5, 7
Winsock, 99
error codes, socket exceptions, 105
wireless personal area networks (WPAN), 89
Wireless Projection, 236
wireless sensor networks, 89
WPF. See Windows Presentation Foundation (WPF)
Write method, 39, 61
WSAENOPROTOOPT error code, 105

X

x-coordinate, member data access, 82
XAML. See Extensible Application Markup Language (XAML)
XML. See Extensible Markup Language (XML)

Z

ZigBee, 89, 91
© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker