bQB      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      NoneA)Timeout exception for NXT IO operations. vHandle for traversing of modules. Only one module handle can be opened at a time so be careful to close them when not  needed anymore. Module name extension is .mod3. For some functions this can be also a wild card. 'Type of the IO map module information. 7Handle of the opened file on the NXT brick filesystem. .Size of the file on the NXT brick filesystem. BFilename of the file on the NXT brick filesystem. In 15.3 format. I2C device measurement value. I2C device command. /Address of the device (sensor) on the I2C bus. -At most 16 data bytes can be read at a time. )Frequency of the played tone (in hertz). !Loop playback of the sound file? ;Should the message be remove from the queue once received? aOutbox on the NXT brick where the program running there queues messages for the host (computer). ! There is a convention that only # - ; outboxes are used for this purpose so that lower ones can ^ be used for inter-brick communication. But this convention is not really obeyed in practice. .eInbox on the NXT brick into which the host (computer) queues messages for the program running there. 9Time duration (in seconds). :Voltage value (in volts). ;PValue scaled according to calibration. Unused in current NXT firmware versions. <*Scaled value. Mode dependent. In percent. = Normalized A/$D value. Type dependent. In [0, 1023] range. >Raw A/D value. Device dependent. @EReports scaled value as count of ticks on RCX-style rotation sensor. A)For reporting temperature in fahrenheit. B&For reporting temperature in celsius. CNReports scaled value as % of full scale reading for a configured sensor type. DVReports scaled value as number of transitions from false to true, then back to false. EFReports scaled value as number of transitions between true and false. F\Reports scaled value as 1 true or 0 false, false if raw value > 55% of total range, true if < 45%. G-Reports scaled value equal to the raw value. H)Type of the sensor currently attached to Z. U turns off the sensor. V( if calibration file found and used for ;. W1 if new data value should be seen as valid data. [Input port (sensor) 4. \Input port (sensor) 3. ]Input port (sensor) 2. ^Input port (sensor) 1. `(Resets internal movement counters (also eE), cancels current goal and resets internal error-correction system. a(Resets block-relative position counter (d) b*Resets program-relative position counter (c). cvProgram-relative position counter. Current position relative to the last reset of the rotation sensor for this motor. d\Block-relative position counter. Current position relative to the last programmed movement. e[Internal (absolute) tacho counter. Number since the last reset of the motor tacho counter. fTarget tacho limit for a motor movement. 0 means no limit. It is an unsigned value (you select direction of motor movement with  sign of v value). hHold at the current position. iPRamping to a new speed set-point that is less than the current speed set-point. jEnables power to motor. kSRamping to a new speed set-point that is greater than the current speed set-point. lDisables power to motor. mIIn regulated synced mode the difference between two motors. In [-100, 100] range. obAttempts to keep rotation in sync with another motor that has this set. Also involves turn ratio. p`Auto adjust PWM duty cycle if motor is affected by physical load. Really works only if there is I room for that (not that motor is already running at the maximum power). qDisables regulation. s=Required in conjunction with output regulation mode setting. tXVoltage is not allowed to float between PWM pulses, improves accuracy, uses more power. u&Enables PWM power according to speed. v"Power and direction. In [-100, 100] range. xOutput port (motor) C. yOutput port (motor) B. zOutput port (motor) A. }.Free flash space on the NXT brick (in bytes). ~XStrength of the Bluetooth signal. Not implemented in current NXT firmware versions. Use  bluetoothRSSI or bluetoothLinkQuality as an alternative. 9Bluetooth address of the NXT brick in the string format. Name of the NXT brick. The format of version is " major.minor". To format it use printf "%d.%02d" major minor.   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<  -,+*)('&%$#"! . 876543210/9:;<=>?GFEDCBA@H UTSRQPONMLKJIVWXYZ^]\[_ba`cdefglkjihmnqporutsvwzyx{|}~None-A token used for exposed internal functions. 4Monad which encompasses interface to the NXT brick. +Runs a computation in a context of a given + token, returning a value and a new token. +Runs a computation in a context of a given $ token, returning just a new token.   Safe-Inferred !"#$%&'()*+,-./0 !"#$%'()*+,-./0 !"#$%&'()*+,-./0  Safe-Inferred|Exception for NXT interface errors. Currently only one exception is defined which takes textual description as an argument. 12312123 None  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ None=XDefault Bluetooth serial device filename for current operating system. Currently always /dev/rfcomm0. >Opens and intializes a Bluetooth serial device communication. %Stops all NXT activities (by calling 8) and closes the Bluetooth serial device communication.  token must not be used after that anymore. WFunction which initializes and terminates Bluetooth connection to the NXT brick (using  and ) and in-between kruns given computation. It terminates Bluetooth connection on an exception, too, rethrowing it afterwards. 6Gets firmware and protocol versions of the NXT brick. Gets device (the NXT brick) information: name, Bluetooth 48 bit address in the string format, strength of Bluetooth signal (not implemented in #current NXT firmware versions, use  bluetoothRSSI or bluetoothLinkQuality* as an alternative), free space on flash. )Starts a given program on the NXT brick. Same as m but also request a confirmation. Useful to assure the command was really accepted, but this does not assure that the program has really started successfully (especially not that it is already running when the confirmation is received). Use - for that. In a case of an error it throws a . iConfirmation requires a change of the direction of NXT Bluetooth communication which takes around 30 ms. #Stops a currently running program. Same as m but also request a confirmation. Useful to assure the command was really accepted. In a case of an error it  throws a . jConfirmation requires a change of the direction of NXT Bluetooth communication which takes around 30 ms. Same as G but it also requires that the program was really running. It throws a  otherwise. Helper function which first ensures that no other program is running and then ensures that a given program is really running before  it returns. Plays a given sound file. Same as m but also request a confirmation. Useful to assure the command was really accepted. In a case of an error it  throws a . jConfirmation requires a change of the direction of NXT Bluetooth communication which takes around 30 ms. RPlays a tone with a given frequency (in hertz) for a given duration (in seconds). SSets output port (motor) state. This is the main function for controlling a motor. Same as j but also request a confirmation. Useful to assure the command was really accepted. In a case of an error  it throws a . iConfirmation requires a change of the direction of NXT Bluetooth communication which takes around 30 ms. JGets output port (motor) current state. In additional to values used with  also e, d and cB values are available which tell you current position of a motor. (Sets input port (sensor) type and mode. Same as v but also request a confirmation. Useful to assure the command was really accepted. In a case of an error it throws a . jConfirmation requires a change of the direction of NXT Bluetooth communication which takes around 30 ms. QGets input port (sensor) values. This is the main function for reading a sensor. )Resets input port (sensor) scaled value. uWrites a message to the given inbox queue of the running remote program. A message length is limited to 58 characters/bytes. A queue is limited to 5 messages. Same as m but also request a confirmation. Useful to assure the command was really accepted. In a case of an error it  throws a . iConfirmation requires a change of the direction of NXT Bluetooth communication which takes around 30 ms. ?Resets one of three position counters for a given output port. 'Gets current battery level (in volts). /Is battery used in the NXT brick rechargeable? #Stops current sound file playback. Same as d but also request a confirmation. Useful to assure the command was really accepted. In a case of an error it throws a . jConfirmation requires a change of the direction of NXT Bluetooth communication which takes around 30 ms. Sends a keep alive (turned on) packet. It prevents the NXT brick from automatically powering off. Other commands do not prevent that jfrom hapenning so it is useful to send this packet from time to time if you want to prevent powering off. Same as m but also request a confirmation. Useful to assure the command was really accepted. In a case of an error it  throws a . jConfirmation requires a change of the direction of NXT Bluetooth communication which takes around 30 ms. fGets current sleep timeout setting (in seconds) after which the NXT brick automatically powers off if ,not prevented with a keep alive packet (use ' to send one). This setting is cached. (When was a last keep alive packet send? (Gets number of bytes available to read. 8Writes data. At most 16 bytes can be written at a time. xReply data length must be specified in the write command since reading from the device is done on a master-slave basis. Same as d but also request a confirmation. Useful to assure the command was really accepted. In a case of an error it throws a . jConfirmation requires a change of the direction of NXT Bluetooth communication which takes around 30 ms. Reads data. The protocol does not support variable-length return packages so the response always contains 16 data bytes with invalid data padded with zeros. 8Gets the name of the currently running program, if any. vReads a message from the currently running program from a given remote inbox queue. A queue is limited to 5 messages.  It throws a 1 if there is no message in a remote inbox queue. Same as U but if there is no message in a given remote inbox queue it retries until there is. Same as  but returns 47 if there is no message in a given remote inbox queue. YHelper function which stops all NXT brick activities: stops motors and disables sensors. MShutdowns (powers off) the NXT brick. You have to manually turn it on again. BOpens a given file for writing as a linked list of flash sectors. Opens a given file for writing as a linear contiguous block of flash memory (required for user programs and certain data files). BWrites data to a file. At most 61 bytes can be written at a time. Same as m but also request a confirmation. Useful to assure the command was really accepted. In a case of an error it  throws a . jConfirmation requires a change of the direction of NXT Bluetooth communication which takes around 30 ms. Closes a file. Same as m but also request a confirmation. Useful to assure the command was really accepted. In a case of an error it  throws a . jConfirmation requires a change of the direction of NXT Bluetooth communication which takes around 30 ms. Deletes a given file. Same as t but also request a confirmation. Useful to assure the command was really accepted. In a case of an error it throws a . jConfirmation requires a change of the direction of NXT Bluetooth communication which takes around 30 ms. Same as H but it also requires that the file exists before deletion. It throws a  otherwise. |Requests information about the first module matching a given module name (which can be a wild card). Returned module handle Pcan be used for followup requests and has to be closed when not needed anymore. Requests information about the next module matching previously requested module name (which can be a wild card). Returned module Whandle can be used for followup requests and has to be closed when not needed anymore. ACloses module handle of previously requested module information. Same as d but also request a confirmation. Useful to assure the command was really accepted. In a case of an error it throws a . iConfirmation requires a change of the direction of NXT Bluetooth communication which takes around 30 ms. nHelper function to get information about all modules matching a given module name (which can be a wild card). VReads data from an IO map of a given module. At most 119 bytes can be read at a time. You probably have to know what different values at different positions mean and control. The best way is to check NXT firmware  source code. WWrites data to an IO map of a given module. At most 54 bytes can be written at a time. You probably have to know what different values at different positions mean and control. The best way is to check NXT firmware  source code. Same as j but also request a confirmation. Useful to assure the command was really accepted. In a case of an error  it throws a . jConfirmation requires a change of the direction of NXT Bluetooth communication which takes around 30 ms. zHelper function to get an ID of a module matching a given module name. Each module encompass some firmware functionality. TFunction caches IDs so it hopefully retrieves it from a cache of previous requests. P56789:;<=>?@ABCDEFG?P56789:;<=>?@ABCDEFG None]Gets received signal strength indicator (RSSI) of the Bluetooth connection to the NXT brick. /Currently supported only on Linux. It throws a  otherwise. @Gets link quality of the Bluetooth connection to the NXT brick. /Currently supported only on Linux. It throws a  otherwise. HIJKLMN HIJKLMNNone  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~12~}{|wzyxvrutsnqpomglkjihfedc_ba`Z^]\[XYWVHUTSRQPONMLKJI?GFEDCBA@>=<;:9.876543210/-,+*)('&%$#"!  None Should in a case of a load on the motor its power be adapted to retain the same speed? Really works only if there is room for that :(not that motor is already running at the maximum power). Smoothly starts the movement. kIn a case of a load on the motor adapt motor power to retain the same speed. Really works only if there is I room for that (not that motor is already running at the maximum power). 5Keeps active brake on after the end of the movement.  Interface to CONTROLLED_MOTORCMD6 command which takes care of precise motor movements. Requires dynamic/minimal pauses.  Interface to RESET_ERROR_CORRECTION1 command which can be used to reset the NXT brick'+s internal error correction mechanism (and .motor position information at the same time). (The same thing can be achieved by using  with ` argument.  Interface to  ISMOTORREADYi command which determine the state of a motor: is it currently executing a command (for example, moving) 'or is it ready to accept new commands? Implements static pauses.  Interface to CLASSIC_MOTORCMD" command which is very similar to  but better interacts with  MotorControl. Requires dynamic/minimal pauses. Starts MotorControl22.rxe5 program on the NXT brick. Program has to be uploaded/available on the NXT brick. DStops current running program on the NXT brick. Probably this means MotorControl22.rxe program on the NXT brick. OPQRST OPQRSTNone:Data type of remote command for specified output port(s). Set specified motors'K position to a given offset in degrees from a zero position (it is assumed % that motors are at zero position at  remote.rxe program start, you can use  l to assure that, but probably not needed as the NXT brick resets things at program start) at a given speed. ! Probably not a good idea to mix  and  on the same motor as  resets  position. FMove specified motors for a given number of degrees at a given speed. Sends a command to the  remote.rxei program. Commands can be interrupted (or supplemented, for other motors) immediately by a next command. Starts  remote.rxe5 program on the NXT brick. Program has to be uploaded/available on the NXT brick. DStops current running program on the NXT brick. Probably this means  remote.rxe program on the NXT brick. UVUVNoneEnd calibration mode. Begin calibration mode. )Sampling frequency 60 Hz (USA standard). ,Sampling frequency 50 Hz (Europe standard). )Result is an integer mapped to [0-3600). $Result is a byte mapped to [0-255). %AutoTrig (continuous measuring) off. $AutoTrig (continuous measuring) on. 4Initializes sensor on the given input port. It sets  to . Reads software version string (V2.00). Reads vendor ID string (mndsnsrs). Reads device ID string (CMPS).  Sets current mode of operation. (Gets last measurement. Based on current  it return value in [0-255) ( mode) or [0-3600) ( mode) range. WX WXNoneRequests warm reset. gWithin this mode the sensor will measure whether any other ultrasonic sensors are within the vicinity.  With this information a program can evaluate when it is best to make a new measurement which will not conflict with other ultrasonic sensors. rIn this mode the sensor continuously makes new measurement with the specific interval. This is the default mode. YIn this mode ultrasonic sensor only makes a new measurement every time this mode is set. ` The sensor measures distances for up to 8 objects (8 first echoes) which can be retrieved with . Turns sensor off. wType of a measurement number. Sensor stores measurements (distances) for the first 8 echoes (numbered 0-7) it receives in  mode. For  and 4 modes use first (0) measurement (distance) number. UType of a continuous measurement interval value. This seems to be in the range 1-15. Type of a scale divisor value. Type of a scale factor value. Type of a zero value. 7Initializes sensor on the given input port. Default is  mode. Reads software version string (V1.0). Reads vendor ID string (LEGO). Reads device ID string (Sonar). Reads factory zero value. "Reads factory scale factor value. #Reads factory scale divisor value.  Reads measurement units string (10E-2m, a centimeter).  Gets current mode of operation. 4Gets current continuous measurement interval value. "Gets current (actual) zero value. *Gets current (actual) scale factor value.  +Gets current (actual) scale divisor value.   Sets current mode of operation.  4Sets current continuous measurement interval value.  DSets current (actual) zero value. This is used to calibrate sensor.  LSets current (actual) scale factor value. This is used to calibrate sensor. MSets current (actual) scale divisor value. This is used to calibrate sensor. `Gets last measurement for a given measurement number based on the current mode. To retrieve new  measurements first use   (with d as an argument) to send new ultrasonic ping and after approximately 20ms read the results. (Change Aof NXT Bluetooth communication direction takes around 30 ms.) In . mode new measurements are made automatically 4based on the continuous measurement interval value. OHelper function which gets all measurements available in order (closer first). "YZ[               YZ[     \  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcddefghijklmnopqrstuvwxyz{|}~         !"#$%&'()*+,-./012 3 4 5678 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q RSTUVWXSYZ[Z\]^ NXT-0.2.3 Robotics.NXTRobotics.NXT.MotorControlRobotics.NXT.RemoteRobotics.NXT.Sensor.CompassRobotics.NXT.Sensor.UltrasonicRobotics.NXT.ExternalsRobotics.NXT.InternalsRobotics.NXT.DataRobotics.NXT.ErrorsRobotics.NXT.TypesRobotics.NXT.ProtocolRobotics.NXT.BluetoothUtilsTimeoutExceptionTimoutException IOMapData IOMapLength IOMapOffset ModuleHandleModuleIOMapSize ModuleSizeModuleID ModuleName ModuleInfoFileData FileHandleFileSizeFileName MeasurementCommand DeviceAddressRxDataTxData RxDataLength Frequency LoopPlayback RemoveMessage RemoteInbox RemoteInbox19 RemoteInbox18 RemoteInbox17 RemoteInbox16 RemoteInbox15 RemoteInbox14 RemoteInbox13 RemoteInbox12 RemoteInbox11 RemoteInbox10 RemoteInbox9 RemoteInbox8 RemoteInbox7 RemoteInbox6 RemoteInbox5 RemoteInbox4 RemoteInbox3 RemoteInbox2 RemoteInbox1 RemoteInbox0InboxInbox9Inbox8Inbox7Inbox6Inbox5Inbox4Inbox3Inbox2Inbox1Inbox0DurationVoltageCalibratedValue ScaledValueNormalizedADValue RawADValue SensorModeAngleStepsModeFahrenheitMode CelsiusModePctFullScaleModePeriodCounterModeTransitionCntMode BooleanModeRawMode SensorTypeNoOfSensorTypes Lowspeed9VLowspeedCustomSoundDBASoundDB LightInactive LightActiveAngle Reflection TemperatureSwitchNoSensor CalibratedValid InputValue InputPortFourThreeTwoOne MotorResetInternalPositionRelativePositionAbsolutePosition RotationCountBlockTachoCount TachoCount TachoLimitRunStateMotorRunStateHoldMotorRunStateRampDownMotorRunStateRunningMotorRunStateRampUpMotorRunStateIdle TurnRatioRegulationModeRegulationModeMotorSyncRegulationModeMotorSpeedRegulationModeIdle OutputMode RegulatedBrakeMotorOn OutputPower OutputPortCBA OutputState FlashFree BTStrength BTAddressName DeviceInfoMinorMajorProtocolVersionFirmwareVersionVersion NXTInternalsNXTrunNXTexecNXT NXTException defaultDevice initialize terminatewithNXT getVersion getDeviceInfo startProgramstartProgramConfirm stopProgramstopProgramConfirmstopProgramExistingensureStartProgram playSoundFileplaySoundFileConfirmplayTonesetOutputStatesetOutputStateConfirmgetOutputState setInputModesetInputModeConfirmgetInputValuesresetInputScaledValue messageWritemessageWriteConfirmresetMotorPositiongetBatteryLevelisBatteryRechargeablestopSoundPlaybackstopSoundPlaybackConfirm keepAlivekeepAliveConfirmgetSleepTimeoutgetLastKeepAliveTimelowspeedGetStatus lowspeedWritelowspeedWriteConfirm lowspeedReadgetCurrentProgramName messageReadensureMessageReadmaybeMessageReadstopEverythingshutdown openWriteopenWriteLinearwrite writeConfirmclose closeConfirmdelete deleteConfirmdeleteExistingrequestFirstModulerequestNextModulecloseModuleHandlecloseModuleHandleConfirm listModules readIOMap writeIOMapwriteIOMapConfirm getModuleID bluetoothRSSIbluetoothLinkQualitySpeedRegulationMotorControlMode SmoothStart HoldBrakecontrolledMotorCmdresetErrorCorrection isMotorReadyclassicMotorCmdstartMotorControlProgramstopMotorControlProgram RemoteCommandRemoteCommandTypeSetToMoveForsendRemoteCommandstartRemoteProgramstopRemoteProgramModeEndCalibrationBeginCalibration Frequency60 Frequency50 ResultInteger ResultByte AutoTrigOff AutoTrigOncsInit csGetVersion csGetVendorID csGetDeviceID csSetModecsGetMeasurement WarmReset EventCaptureContinuousMeasurement SingleShotOffMeasurementNumberContinuousInterval ScaleDivisor ScaleFactorZerousInit usGetVersion usGetVendorID usGetDeviceIDusGetFactoryZerousGetFactoryScaleFactorusGetFactoryScaleDivisorusGetMeasurementUnits usGetModeusGetContinuousIntervalusGetActualZerousGetActualScaleFactorusGetActualScaleDivisor usSetModeusSetContinuousIntervalusSetActualZerousSetActualScaleFactorusSetActualScaleDivisorusGetMeasurementusGetAllMeasurementsghc-prim GHC.TypesTrue$fExceptionTimeoutException nxthandleaddressmodules sleeptime lastkeepalive modifyNXTgetsNXT$fShowNXTInternals dataToInt fromUByte fromUWord fromULong fromSByte fromSWord fromSLong dataToString0 dataToString intToDatatoUBytetoUWordtoULongtoSBytetoSWordtoSLong stringToData0 stringToData nameToData messageToDatafailNXTfailNXT'$fExceptionNXTExceptionbase Data.MaybeNothingdebugsendData receiveData startProgram' stopProgram'playSoundFile'setOutputState' setInputMode' messageWrite'stopSoundPlayback' keepAlive'lowspeedWrite'write'close'delete'closeModuleHandle' writeIOMap'requestrequest'lqrssi blueErrorblueNotConnectedbluetoothRSSIAddrbluetoothLinkQualityAddrbluetoothAddressprogramFilenamemotorControlSendmotorControlReceive fromPorts fromPower fromLimitencodeRemoteCommand deviceAddress csReadString usReadByte usReadString