|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface IOIO
This interface provides control over all the IOIO board functions.
An instance of this interface is typically obtained by using the IOIOFactory
class.
Initially, a connection should be established, by calling waitForConnect()
. This method
will block until the board is connected an a connection has been established.
During the connection process, this library verifies that the IOIO firmware is compatible with
the required version. If not, waitForConnect()
will throw a
IncompatibilityException
, putting the IOIO
instance in a "zombie" state: nothing
could be done with it except calling disconnect()
, or waiting for the physical
connection to drop via waitForDisconnect()
.
As soon as a connection is established, the IOIO can be used, typically, by calling the openXXX() functions to obtain additional interfaces for controlling specific function of the board.
Whenever a connection is lost as a result of physically disconnecting the board or as a result of
calling disconnect()
, this instance and all the interfaces obtained from it become
invalid, and will throw a ConnectionLostException
on every operation. Once the connection
is lost, those instances cannot be recycled, but rather it is required to create new ones and
wait for a connection again.
Initially all pins are tri-stated (floating), and all functions are disabled. Whenever a connection is lost or dropped, the board will immediately return to the this initial state.
Typical usage:
IOIO ioio = IOIOFactory.create(); try { ioio.waitForConnect(); DigitalOutput out = ioio.openDigitalOutput(10); out.write(true); ... } catch (ConnectionLostException e) { } catch (Exception e) { ioio.disconnect(); } finally { ioio.waitForDisconnect(); }
IOIOFactory.create()
| Nested Class Summary | |
|---|---|
static class |
IOIO.State
A state of a IOIO instance. |
static class |
IOIO.VersionType
A versioned component in the system. |
| Field Summary | |
|---|---|
static int |
INVALID_PIN
An invalid pin number. |
static int |
LED_PIN
The pin number used to designate the on-board 'stat' LED. |
| Method Summary | |
|---|---|
void |
beginBatch()
Start a batch of operations. |
void |
disconnect()
Closes the connection to the board, or aborts a connection process started with waitForConnect(). |
void |
endBatch()
End a batch of operations. |
java.lang.String |
getImplVersion(IOIO.VersionType v)
Query the implementation version of the system's components. |
IOIO.State |
getState()
Gets the connections state. |
void |
hardReset()
Equivalent to disconnecting and reconnecting the board power supply. |
AnalogInput |
openAnalogInput(int pin)
Open a pin for analog input. |
CapSense |
openCapSense(int pin)
Shorthand for openCapSense(pin, CapSense.DEFAULT_COEF). |
CapSense |
openCapSense(int pin,
float filterCoef)
Open a pin for cap-sense. |
DigitalInput |
openDigitalInput(DigitalInput.Spec spec)
Open a pin for digital input. |
DigitalInput |
openDigitalInput(int pin)
Shorthand for openDigitalInput(new DigitalInput.Spec(pin)). |
DigitalInput |
openDigitalInput(int pin,
DigitalInput.Spec.Mode mode)
Shorthand for openDigitalInput(new DigitalInput.Spec(pin, mode)). |
DigitalOutput |
openDigitalOutput(DigitalOutput.Spec spec,
boolean startValue)
Open a pin for digital output. |
DigitalOutput |
openDigitalOutput(int pin)
Shorthand for openDigitalOutput(new DigitalOutput.Spec(pin), false). |
DigitalOutput |
openDigitalOutput(int pin,
boolean startValue)
Shorthand for openDigitalOutput(new DigitalOutput.Spec(pin), startValue). |
DigitalOutput |
openDigitalOutput(int pin,
DigitalOutput.Spec.Mode mode,
boolean startValue)
Shorthand for openDigitalOutput(new DigitalOutput.Spec(pin, mode), startValue). |
IcspMaster |
openIcspMaster()
Open an ICSP channel, enabling Flash programming of an external PIC MCU, and in particular, another IOIO board. |
PulseInput |
openPulseInput(DigitalInput.Spec spec,
PulseInput.ClockRate rate,
PulseInput.PulseMode mode,
boolean doublePrecision)
Open a pin for pulse input. |
PulseInput |
openPulseInput(int pin,
PulseInput.PulseMode mode)
Shorthand for openPulseInput(new DigitalInput.Spec(pin), rate, mode, true), i.e. |
PwmOutput |
openPwmOutput(DigitalOutput.Spec spec,
int freqHz)
Open a pin for PWM (Pulse-Width Modulation) output. |
PwmOutput |
openPwmOutput(int pin,
int freqHz)
Shorthand for openPwmOutput(new DigitalOutput.Spec(pin), freqHz). |
Sequencer |
openSequencer(Sequencer.ChannelConfig[] config)
Open a motion-control sequencer. |
SpiMaster |
openSpiMaster(DigitalInput.Spec miso,
DigitalOutput.Spec mosi,
DigitalOutput.Spec clk,
DigitalOutput.Spec[] slaveSelect,
SpiMaster.Config config)
Open a SPI master module, enabling communication with multiple SPI-enabled slave modules. |
SpiMaster |
openSpiMaster(int miso,
int mosi,
int clk,
int[] slaveSelect,
SpiMaster.Rate rate)
Shorthand for openSpiMaster(ioio.lib.api.DigitalInput.Spec, ioio.lib.api.DigitalOutput.Spec, ioio.lib.api.DigitalOutput.Spec, ioio.lib.api.DigitalOutput.Spec[], ioio.lib.api.SpiMaster.Config)
, where the pins are all open with the default modes and default configuration values are
used. |
SpiMaster |
openSpiMaster(int miso,
int mosi,
int clk,
int slaveSelect,
SpiMaster.Rate rate)
Shorthand for openSpiMaster(ioio.lib.api.DigitalInput.Spec, ioio.lib.api.DigitalOutput.Spec, ioio.lib.api.DigitalOutput.Spec, ioio.lib.api.DigitalOutput.Spec[], ioio.lib.api.SpiMaster.Config)
, where the MISO pins is opened with pull up, and the other pins are open with the default
modes and default configuration values are used. |
TwiMaster |
openTwiMaster(int twiNum,
TwiMaster.Rate rate,
boolean smbus)
Open a TWI (Two-Wire Interface, such as I2C/SMBus) master module, enabling communication with multiple TWI-enabled slave modules. |
Uart |
openUart(DigitalInput.Spec rx,
DigitalOutput.Spec tx,
int baud,
Uart.Parity parity,
Uart.StopBits stopbits)
Open a UART module, enabling a bulk transfer of byte buffers. |
Uart |
openUart(int rx,
int tx,
int baud,
Uart.Parity parity,
Uart.StopBits stopbits)
Shorthand for openUart(DigitalInput.Spec, DigitalOutput.Spec, int, Uart.Parity, Uart.StopBits) ,
where the input pins use their default specs. |
void |
softReset()
Resets the entire state (returning to initial state), without dropping the connection. |
void |
sync()
Sends a message to the IOIO and waits for an echo. |
void |
waitForConnect()
Establishes connection with the IOIO board. |
void |
waitForDisconnect()
Blocks until IOIO has been disconnected and all connection-related resources have been freed, so that a new connection can be attempted. |
| Field Detail |
|---|
static final int INVALID_PIN
static final int LED_PIN
| Method Detail |
|---|
void waitForConnect() throws ConnectionLostException, IncompatibilityException
This method is blocking until connection is established. This method can be aborted by
calling disconnect()
. In this case, it will throw a ConnectionLostException
.
ConnectionLostException
- An error occurred during connection or disconnect() has been called during
connection. The instance state is disconnected.
IncompatibilityException
- An incompatible board firmware of hardware has been detected. The instance state
is disconnected.disconnect()
,
waitForDisconnect()
void disconnect()
Once this method is called, this IOIO instance and all the instances obtain from it become invalid and will throw an exception on every operation.
This method is asynchronous, i.e. it returns immediately, but it is not guaranteed that all
connection-related resources has already been freed and can be reused upon return. In cases
when this is important, client can call waitForDisconnect()
, which will block until
all resources have been freed.
void waitForDisconnect() throws java.lang.InterruptedException
java.lang.InterruptedException
- When interrupt() has been called on this thread. This might mean that an
immediate attempt to create and connect a new IOIO object might fail for resource
contention.disconnect()
,
waitForConnect()
IOIO.State getState()
void softReset() throws ConnectionLostException
It is equivalent to calling Closeable.close()
on every interface obtained from this
instance. A connection must have been established prior to calling this method, by invoking
waitForConnect()
.
ConnectionLostException
- Connection was lost before or during the execution of this method.hardReset()
void hardReset() throws ConnectionLostException
The connection will be dropped and not reestablished. Full boot sequence will take place, so
firmware upgrades can be performed. A connection must have been established prior to calling
this method, by invoking waitForConnect()
.
ConnectionLostException
- Connection was lost before or during the execution of this method.softReset()
java.lang.String getImplVersion(IOIO.VersionType v) throws ConnectionLostException
v
- The component whose version we query.
ConnectionLostException
- Connection was lost before or during the execution of this method.DigitalInput openDigitalInput(DigitalInput.Spec spec) throws ConnectionLostException
A digital input pin can be used to read logic-level signals. The pin will operate in this
mode until close() is invoked on the returned interface. It is illegal to open a pin that has
already been opened and has not been closed. A connection must have been established prior to
calling this method, by invoking waitForConnect()
.
spec
- Pin specification, consisting of the pin number, as labeled on the board, and the
mode, which determines whether the pin will be floating, pull-up or pull-down. See
DigitalInput.Spec.Mode
for more information.
ConnectionLostException
- Connection was lost before or during the execution of this method.DigitalInput
DigitalInput openDigitalInput(int pin) throws ConnectionLostException
ConnectionLostException
openDigitalInput(ioio.lib.api.DigitalInput.Spec)
DigitalInput openDigitalInput(int pin, DigitalInput.Spec.Mode mode) throws ConnectionLostException
ConnectionLostException
openDigitalInput(ioio.lib.api.DigitalInput.Spec)
DigitalOutput openDigitalOutput(DigitalOutput.Spec spec, boolean startValue) throws ConnectionLostException
A digital output pin can be used to generate logic-level signals. The pin will operate in
this mode until close() is invoked on the returned interface. It is illegal to open a pin
that has already been opened and has not been closed. A connection must have been established
prior to calling this method, by invoking waitForConnect()
.
spec
- Pin specification, consisting of the pin number, as labeled on the board, and the
mode, which determines whether the pin will be normal or open-drain. See
DigitalOutput.Spec.Mode
for more information.startValue
- The initial logic level this pin will generate as soon at it is open.
ConnectionLostException
- Connection was lost before or during the execution of this method.DigitalOutput
DigitalOutput openDigitalOutput(int pin, DigitalOutput.Spec.Mode mode, boolean startValue) throws ConnectionLostException
ConnectionLostException
openDigitalOutput(ioio.lib.api.DigitalOutput.Spec, boolean)
DigitalOutput openDigitalOutput(int pin, boolean startValue) throws ConnectionLostException
ConnectionLostException
openDigitalOutput(ioio.lib.api.DigitalOutput.Spec, boolean)
DigitalOutput openDigitalOutput(int pin) throws ConnectionLostException
ConnectionLostException
openDigitalOutput(ioio.lib.api.DigitalOutput.Spec, boolean)
AnalogInput openAnalogInput(int pin) throws ConnectionLostException
An analog input pin can be used to measure voltage. Note that not every pin can be used as an analog input. See board documentation for the legal pins and permitted voltage range.
The pin will operate in this mode until close() is invoked on the returned interface. It is
illegal to open a pin that has already been opened and has not been closed. A connection must
have been established prior to calling this method, by invoking waitForConnect()
.
pin
- Pin number, as labeled on the board.
ConnectionLostException
- Connection was lost before or during the execution of this method.AnalogInput
PwmOutput openPwmOutput(DigitalOutput.Spec spec, int freqHz) throws ConnectionLostException
A PWM pin produces a logic-level PWM signal. These signals are typically used for simulating analog outputs for controlling the intensity of LEDs, the rotation speed of motors, etc. They are also frequently used for controlling hobby servo motors.
Note that not every pin can be used as PWM output. In addition, the total number of concurrent PWM modules in use is limited. See board documentation for the legal pins and limit on concurrent usage.
The pin will operate in this mode until close() is invoked on the returned interface. It is
illegal to open a pin that has already been opened and has not been closed. A connection must
have been established prior to calling this method, by invoking waitForConnect()
.
spec
- Pin specification, consisting of the pin number, as labeled on the board, and the
mode, which determines whether the pin will be normal or open-drain. See
DigitalOutput.Spec.Mode
for more information.freqHz
- PWM frequency, in Hertz.
ConnectionLostException
- Connection was lost before or during the execution of this method.
OutOfResourceException
- This is a runtime exception, so it is not necessary to catch it if the client
guarantees that the total number of concurrent PWM resources is not exceeded.PwmOutput
PwmOutput openPwmOutput(int pin, int freqHz) throws ConnectionLostException
ConnectionLostException
openPwmOutput(ioio.lib.api.DigitalOutput.Spec, int)
PulseInput openPulseInput(DigitalInput.Spec spec, PulseInput.ClockRate rate, PulseInput.PulseMode mode, boolean doublePrecision) throws ConnectionLostException
The pulse input module is quite flexible. It enables several kinds of timing measurements on a digital signal: pulse width measurement (positive or negative pulse), and frequency of a periodic signal.
Note that not every pin can be used as pulse input. In addition, the total number of concurrent pulse input modules in use is limited. See board documentation for the legal pins and limit on concurrent usage.
The pin will operate in this mode until close() is invoked on the returned interface. It is
illegal to open a pin that has already been opened and has not been closed. A connection must
have been established prior to calling this method, by invoking waitForConnect()
.
spec
- Pin specification, consisting of the pin number, as labeled on the board, and the
mode, which determines whether the pin will be floating, pull-up or pull-down. See
DigitalInput.Spec.Mode
for more information.rate
- The clock rate to use for timing the signal. A faster clock rate will result in
better precision but will only be able to measure narrow pulses / high
frequencies.mode
- The mode in which to operate. Determines whether the module will measure pulse
durations or frequency.doublePrecision
- Whether to open a double-precision pulse input module. Double- precision modules
enable reading of much longer pulses and lower frequencies with high accuracy than
single precision modules. However, their number is limited, so when possible, and
if the resources are all needed, use single-precision. For more details on the
exact spec of single- vs. double- precision, see PulseInput
.
PulseInput
, which can be used to obtain the data.
ConnectionLostException
- Connection was lost before or during the execution of this method.
OutOfResourceException
- This is a runtime exception, so it is not necessary to catch it if the client
guarantees that the total number of concurrent PWM resources is not exceeded.PulseInput
PulseInput openPulseInput(int pin, PulseInput.PulseMode mode) throws ConnectionLostException
ConnectionLostException
openPulseInput(ioio.lib.api.DigitalInput.Spec, ioio.lib.api.PulseInput.ClockRate,
ioio.lib.api.PulseInput.PulseMode, boolean)
Uart openUart(DigitalInput.Spec rx, DigitalOutput.Spec tx, int baud, Uart.Parity parity, Uart.StopBits stopbits) throws ConnectionLostException
UART is a very common hardware communication protocol, enabling full- duplex, asynchronous point-to-point data transfer. It typically serves for opening consoles or as a basis for higher-level protocols, such as MIDI RS-232, and RS-485.
Note that not every pin can be used for UART RX or TX. In addition, the total number of concurrent UART modules in use is limited. See board documentation for the legal pins and limit on concurrent usage.
The UART module will operate, and the pins will work in their respective modes until close()
is invoked on the returned interface. It is illegal to use pins that have already been opened
and has not been closed. A connection must have been established prior to calling this
method, by invoking waitForConnect()
.
rx
- Pin specification for the RX pin, consisting of the pin number, as labeled on the
board, and the mode, which determines whether the pin will be floating, pull-up or
pull-down. See DigitalInput.Spec.Mode
for more information. null can be
passed to designate that we do not want RX input to this module.tx
- Pin specification for the TX pin, consisting of the pin number, as labeled on the
board, and the mode, which determines whether the pin will be normal or
open-drain. See DigitalOutput.Spec.Mode
for more information. null can be
passed to designate that we do not want TX output to this module.baud
- The clock frequency of the UART module in Hz.parity
- The parity mode, as in Uart.Parity
.stopbits
- Number of stop bits, as in Uart.StopBits
.
ConnectionLostException
- Connection was lost before or during the execution of this method.
OutOfResourceException
- This is a runtime exception, so it is not necessary to catch it if the client
guarantees that the total number of concurrent UART resources is not exceeded.Uart
Uart openUart(int rx, int tx, int baud, Uart.Parity parity, Uart.StopBits stopbits) throws ConnectionLostException
openUart(DigitalInput.Spec, DigitalOutput.Spec, int, Uart.Parity, Uart.StopBits)
,
where the input pins use their default specs. INVALID_PIN
can be used on either pin
if a TX- or RX-only UART is needed.
ConnectionLostException
openUart(DigitalInput.Spec, DigitalOutput.Spec, int, Uart.Parity, Uart.StopBits)
SpiMaster openSpiMaster(DigitalInput.Spec miso, DigitalOutput.Spec mosi, DigitalOutput.Spec clk, DigitalOutput.Spec[] slaveSelect, SpiMaster.Config config) throws ConnectionLostException
SPI is a common hardware communication protocol, enabling full-duplex, synchronous point-to-multi-point data transfer. It requires MOSI, MISO and CLK lines shared by all nodes, as well as a SS line per slave, connected between this slave and a respective pin on the master. The MISO line should operate in pull-up mode, using either the internal pull-up or an external resistor.
Note that not every pin can be used for SPI MISO, MOSI or CLK. In addition, the total number of concurrent SPI modules in use is limited. See board documentation for the legal pins and limit on concurrent usage.
The SPI module will operate, and the pins will work in their respective modes until close()
is invoked on the returned interface. It is illegal to use pins that have already been opened
and has not been closed. A connection must have been established prior to calling this
method, by invoking waitForConnect()
.
miso
- Pin specification for the MISO (Master In Slave Out) pin, consisting of the pin
number, as labeled on the board, and the mode, which determines whether the pin
will be floating, pull-up or pull-down. See DigitalInput.Spec.Mode
for
more information.mosi
- Pin specification for the MOSI (Master Out Slave In) pin, consisting of the pin
number, as labeled on the board, and the mode, which determines whether the pin
will be normal or open-drain. See DigitalOutput.Spec.Mode
for more
information.clk
- Pin specification for the CLK pin, consisting of the pin number, as labeled on the
board, and the mode, which determines whether the pin will be normal or
open-drain. See DigitalOutput.Spec.Mode
for more information.slaveSelect
- An array of pin specifications for each of the slaves' SS (Slave Select) pin. The
index of this array designates the slave index, used later to refer to this slave.
The spec is consisting of the pin number, as labeled on the board, and the mode,
which determines whether the pin will be normal or open-drain. See
DigitalOutput.Spec.Mode
for more information.config
- The configuration of the SPI module. See SpiMaster.Config
for details.
ConnectionLostException
- Connection was lost before or during the execution of this method.
OutOfResourceException
- This is a runtime exception, so it is not necessary to catch it if the client
guarantees that the total number of concurrent SPI resources is not exceeded.SpiMaster
SpiMaster openSpiMaster(int miso, int mosi, int clk, int[] slaveSelect, SpiMaster.Rate rate) throws ConnectionLostException
openSpiMaster(ioio.lib.api.DigitalInput.Spec, ioio.lib.api.DigitalOutput.Spec, ioio.lib.api.DigitalOutput.Spec, ioio.lib.api.DigitalOutput.Spec[], ioio.lib.api.SpiMaster.Config)
, where the pins are all open with the default modes and default configuration values are
used.
ConnectionLostException
openSpiMaster(ioio.lib.api.DigitalInput.Spec, ioio.lib.api.DigitalOutput.Spec,
ioio.lib.api.DigitalOutput.Spec, ioio.lib.api.DigitalOutput.Spec[],
ioio.lib.api.SpiMaster.Config)
SpiMaster openSpiMaster(int miso, int mosi, int clk, int slaveSelect, SpiMaster.Rate rate) throws ConnectionLostException
openSpiMaster(ioio.lib.api.DigitalInput.Spec, ioio.lib.api.DigitalOutput.Spec, ioio.lib.api.DigitalOutput.Spec, ioio.lib.api.DigitalOutput.Spec[], ioio.lib.api.SpiMaster.Config)
, where the MISO pins is opened with pull up, and the other pins are open with the default
modes and default configuration values are used. In this version, a single slave is used.
ConnectionLostException
openSpiMaster(ioio.lib.api.DigitalInput.Spec, ioio.lib.api.DigitalOutput.Spec,
ioio.lib.api.DigitalOutput.Spec, ioio.lib.api.DigitalOutput.Spec[],
ioio.lib.api.SpiMaster.Config)
TwiMaster openTwiMaster(int twiNum, TwiMaster.Rate rate, boolean smbus) throws ConnectionLostException
TWI is a common hardware communication protocol, enabling half-duplex, synchronous point-to-multi-point data transfer. It requires a physical connection of two lines (SDA, SCL) shared by all the bus nodes, where the SDA is open-drain and externally pulled-up.
Note that there is a fixed number of TWI modules, and the pins they use are static. Client has to make sure these pins are not already opened before calling this method. See board documentation for the number of modules and the respective pins they use.
The TWI module will operate, and the pins will work in their respective modes until close()
is invoked on the returned interface. It is illegal to use pins that have already been opened
and has not been closed. A connection must have been established prior to calling this
method, by invoking waitForConnect()
.
twiNum
- The TWI module index to use. Will also determine the pins used.rate
- The clock rate. Can be 100KHz / 400KHz / 1MHz.smbus
- When true, will use SMBus voltage levels. When false, I2C voltage levels.
ConnectionLostException
- Connection was lost before or during the execution of this method.TwiMaster
IcspMaster openIcspMaster() throws ConnectionLostException
ICSP (In-Circuit Serial Programming) is a protocol intended for programming of PIC MCUs. It is a serial protocol over three wires: PGC (clock), PGD (data) and MCLR (reset), where PGC and MCLR are controlled by the master and PGD is shared by the master and slave, depending on the transaction state.
Note that there is only one ICSP modules, and the pins it uses are static. Client has to make sure that the ICSP module is not already in use, as well as those dedicated pins. See board documentation for the actual pins used for ICSP.
ConnectionLostException
- Connection was lost before or during the execution of this method.IcspMaster
CapSense openCapSense(int pin) throws ConnectionLostException
ConnectionLostException
openCapSense(int, float)
CapSense openCapSense(int pin, float filterCoef) throws ConnectionLostException
A cap-sense input pin can be used to measure capacitance, typically in touch sensing applications. Note that not every pin can be used as cap- sense. See board documentation for the legal pins.
The pin will operate in this mode until close() is invoked on the returned interface. It is
illegal to open a pin that has already been opened and has not been closed. A connection must
have been established prior to calling this method, by invoking waitForConnect()
.
pin
- Pin number, as labeled on the board.
ConnectionLostException
- Connection was lost before or during the execution of this method.CapSense
Sequencer openSequencer(Sequencer.ChannelConfig[] config) throws ConnectionLostException
This module allows fast and precise sequencing of waveforms, primarily intended for
synchronized driving of various kinds of motors and other actuators. There is currently
support for only a single instance of this module. For more details, see Sequencer
.
config
- The sequencer configuration.
ConnectionLostException
- Connection was lost before or during the execution of this method.void beginBatch() throws ConnectionLostException
beginBatch()
before the
sequence and endBatch()
after the sequence will cause the operations to be grouped
into one transfer to the IOIO, thus reducing latency. A matching endBatch()
operation must always follow, or otherwise no operation will ever be actually executed.
beginBatch()
/ endBatch()
blocks may be nested - the transfer will occur
when the outermost endBatch()
is invoked. Note that it is not guaranteed that no
transfers will happen while inside a batch - it should be treated as a hint. Code running
inside the block must be quick as it blocks all transfers to the IOIO, including those
performed from other threads.
ConnectionLostException
- Connection was lost before or during the execution of this method.void endBatch() throws ConnectionLostException
beginBatch()
.
ConnectionLostException
- Connection was lost before or during the execution of this method.void sync() throws ConnectionLostException, java.lang.InterruptedException
DigitalOutput
and then reading from a DigitalInput
, if you want
to guarantee that the reading was obtained after the write has taken place, call this method
in between.
ConnectionLostException
- Connection was lost before or during the execution of this method.
java.lang.InterruptedException
- When interrupt() has been called on this thread.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


NLS_UPPER
converts all alphabetic characters in a text expression to uppercase. The data type of the return value is the same as the original text.
CHAR | NCHAR | VARCHAR2 | NVARCHAR2
NLS_UPPER (char [, 'nlsparam' ])
char
can be any text expression.
nlsparam
is a linguistic sort sequence in the form NLS_SORT =
sort
[_ai |_ci]
, where sort
is an NLS language. You can add a suffix to the language to modify the sort: _ai
for an accent-insensitive sort, or _ci
for a case-insensitive sort.
NLS_UPPER('This is an emergency')
returns the string THIS IS AN EMERGENCY
.


Protocols
The following protocols are available globally.
-
Provides utility functions for cryptographic operations.
See moreDeclaration
Swift
public protocol CryptoProvider : AnyObject
-
S3 client wrapper protocol mainly used for providing an abstraction layer on top of AWS S3 SDK.
See moreDeclaration
Swift
public protocol S3Client : AnyObject
-
Protocol encapsulating a library functions for managing Sudos in the Sudo service.
See moreDeclaration
Swift
public protocol SudoProfilesClient : AnyObject
-
Subscriber for receiving notifications about new, updated or deleted Sudo.
See moreDeclaration
Swift
public protocol SudoSubscriber


You can try it, but I doubt it will work, the miner need to push exactly 1.3s per second to be able to make 60s blocks and the market maker and komodod needs 2/3 of a pretty decent core to generate the txs.


Digital Archive of Queensland Architecture
ABOUT
COLLABORATORS
DIGITAL STORIES
SEARCH
CONTRIBUTE
CONTACT


Hum Bhi Akele, Tum Bhi Akele: Zareen Khan Starrer Film Wins People’s Choice Award At The South Asian International Film Festival
The film screened in Manhattan on November 22 under the ‘Friday Night Premiere’ section at the festival.
by Koimoi.com TeamZareen Khan starrer ‘Hum Bhi Akele, Tum Bhi Akele‘ directed by Harish Vyas won the People’s Choice award at the prestigious South Asian International Film Festival. The award choice was presented by HBO in New York.
The film screened in Manhattan on November 22 under the ‘Friday Night Premiere’ section at the festival.
Starring Anshuman Jha and Zareen Khan, the film is based on two characters, a gay man and a lesbian travelling together from Delhi to Mcloedgunj on a life-changing journey.
A thrilled Zareen Khan says, “I’m overwhelmed by the love our film has received by the people. Extremely happy and excited about the win. The best compliment I received was ‘There couldn’t be a better or any other Mansi than you’ (Mansi being the name of my character in the film). I can’t wait for the world to watch this film and shower us with all their love.”
Incidentally, ‘Hum Bhi Akele, Tum Bhi Akele’ is Bollywood’s first film that has LGBTQ characters as the leads. Helmed by Harish Vyas is scheduled for a Valentine’s Day 2020 release.


You don't have to be angry, you don't have to be too cool for school. You can just have a good time and dance like no one's watching. Just enjoy life.
Brendon Urie
Panic at the Disco has changed their sound repeatedly over the years, usually a different sound for each album. Thanks to this, there's probably at least one song out of their lineup that everybody will love.


Advanced Configuration
Directory Properties
The following options allow Subversion Directory Properties to be stored
as versioned files in Perforce. To enable this mode set the following
property to true
:
com.p4convert.svn.propEnabled=true
To select the property name and format: (Note: only
ini
mode is supported)
com.p4convert.svn.propEncoding=ini
com.p4convert.svn.propName=.svn.properties
Empty changelists
The following property will attempt to skip empty changes (where the change contains no revisions). This is typically the default behavior of the client or Import Mode, so it is only really used in Convert Mode.
com.p4convert.p4.skipEmpty=false
Username translation
A username map file (users.map
) can be generated
using the --users
option and then the
right-hand-side modified with the new user name. The rename will only
occur if the conversion tool finds the users.map
file in the current working directory.
Username mapping is not currently supported for CVS conversions.
Binary file detection
Binary files can be identified by adding their extensions to the type
map file types.map
. The format is based on Perforce
typemap spec, however it is limited to paths of the form
//...
(where
.ext
.ext
is the binary extension).
Default Type map (types.map
):
TypeMap: binary //....zip binary //....gif binary //....png binary //....jpg binary //....dll binary //....class binary //....jar binary //....ecsfr
Modification bits (+mxwlk
) are supported and can be
added using the type mapping. Binary detection though the type map is
recommended as conversion is much faster. Binary files not identified in
the type map will be scanned by the ICU4J libraries and if no
text/Unicode match is found they are assumed to be binary.
Warning
ICU4J may incorrectly identify small binary files as text creating sync issues on Windows clients.
Changelist Description Format
The logRevID
option can be used to reformat the
Subversion revision descriptions to include the revision ID using the
template:
-
<rev>
substituted with the Subversion revision -
<description>
substituted with the Subversion log
The default value (as-is):
com.p4convert.p4.logRevID=<description>
Case Sensitivity
The platform case sensitivity is detected when generating the configuration file. There is normally no reason to change this behavior from the detected defaults. Conversions between different platforms should be avoided especially when converting from a case sensitive environment (such as Linux) to a case insensitive environment (such as Windows). The advanced case handling options supported are set using one of the following options:
com.p4convert.p4.caseMode=FIRST
-
NONE
- treat all paths as case sensitive (Linux). -
LOWER
- convert all paths to lower case -
UPPER
- convert all paths to upper case -
FIRST
- use the first encountered case combination (Windows)
When using Convert Mode the generated Perforce archive files are
based on the platform's case sensitivity. However on Linux platforms it
can be useful to store archive files as if on a case-insensitive server
(p4d -C1). This can be simulated by setting the following
option to true
:
com.p4convert.p4.lowerCase=true
Important
If this option is set the path to the Perforce root directory, defined
by com.p4convert.adv.p4root
, must be in
lower case and the case mode of
FIRST
must be used.
RCS Keyword expansion (svn:keywords)
By default, RCS keyword expansion attributes are imported; however setting the configuration option:
com.p4convert.svn.keepKeyword=true
Setting a value of false
will ignore all previous
keyword attributes and import the files as normal text. See
keyword notes for
known issues.
Merge Information (svn:mergeinfo)
Supports Subversion 1.5-1.7 merge information and calculates the corresponding Perforce integration credit for the various actions. The feature is not enabled by default and if required the following configuration option must be set to true:
com.p4convert.svn.mergeInfoEnabled=true


|
Simbody
3.5
|
Declarations of DecorativeGeometry and related derived classes. More...
Go to the source code of this file.
Classes | |
| class | SimTK::DecorativeGeometry |
| This is the client-side interface to an implementation-independent representation of "Decorations" suitable for visualization, annotation, logging, or debugging but which cannot have any effect on the behavior of a System or the evolution of a Study. More... | |
| class | SimTK::DecorativePoint |
| A point of interest. More... | |
| class | SimTK::DecorativeLine |
| A line between two points. More... | |
| class | SimTK::DecorativeCircle |
| This defines a circle in the x-y plane, centered at the origin. More... | |
| class | SimTK::DecorativeSphere |
| This defines a sphere centered at the origin. More... | |
| class | SimTK::DecorativeEllipsoid |
| This defines an ellipsoidal solid centered at the origin and aligned with the local frame axes. More... | |
| class | SimTK::DecorativeBrick |
| This defines a rectangular solid centered at the origin and aligned with the local frame axes. More... | |
| class | SimTK::DecorativeCylinder |
| This defines a cylinder centered on the origin and aligned in the y direction. More... | |
| class | SimTK::DecorativeFrame |
| This defines geometry to represent a coordinate frame. More... | |
| class | SimTK::DecorativeText |
| This defines a text label with its base at the origin. More... | |
| class | SimTK::DecorativeMesh |
| This defines a displayable mesh by referencing an already-existing PolygonalMesh object. More... | |
| class | SimTK::DecorativeMeshFile |
| This defines a displayable mesh by referencing a file name containing the mesh. More... | |
| class | SimTK::Decorations |
| This defines a single DecorativeGeometry object that is composed of a collection of other DecorativeGeometry objects. More... | |
| class | SimTK::DecorativeGeometryImplementation |
| Use this abstract class to connect your implementation of decorative geometry to the implementation-independent classes above. More... | |
Namespaces | |
| SimTK | |
| This is the top-level SimTK namespace into which all SimTK names are placed to avoid collision with other symbols. | |
Variables | |
| const Vec3 | SimTK::Black |
| RGB=( 0, 0, 0) More... | |
| const Vec3 | SimTK::Gray |
| RGB=(.5,.5,.5) More... | |
| const Vec3 | SimTK::Red |
| RGB=( 1, 0, 0) More... | |
| const Vec3 | SimTK::Green |
| RGB=( 0, 1, 0) More... | |
| const Vec3 | SimTK::Blue |
| RGB=( 0, 0, 1) More... | |
| const Vec3 | SimTK::Yellow |
| RGB=( 1, 1, 0) More... | |
| const Vec3 | SimTK::Orange |
| RGB=( 1,.5, 0) More... | |
| const Vec3 | SimTK::Magenta |
| RGB=( 1, 0, 1) More... | |
| const Vec3 | SimTK::Purple |
| RGB=(.5, 0,.5) More... | |
| const Vec3 | SimTK::Cyan |
| RGB=( 0, 1, 1) More... | |
| const Vec3 | SimTK::White |
| RGB=( 1, 1, 1) More... | |
Declarations of DecorativeGeometry and related derived classes.


Working with the clipboard in web browsers is subject to many quirks and inconsistencies. This tool helps you explore the content of the clipboard when you paste something on a web page, or the data available on a drop event. Cool Gradient text generator.( ͡° ͜ʖ ͡°)
A Moqups Labs thing. The project's GitHub page contains sources and more references.


Contact
We are always glad to hear from you!
Send us an email and let us know hoe we can help.
We are always glad to hear from you!
Send us an email and let us know hoe we can help.
Timestamp:
Latitude:
Longitude:
Lat/Long Accuracy (in meters):
Altitude (in meters above sea level):
Altitude Accuracy(in meters):
Heading (Degress from true north):
Speed(in meters/second):


No phone numbers found
Note: only your inbox is checked at the moment. Also, conversations with more than one message are not yet handled. Try putting a single message containing a phone number there.
Clear Results {% else %}Phone numbers found ({{ phone_numbers|length }})
| Name | From | Phone Number | Context (click on a row for the full context) |
|---|---|---|---|
| {{ phone_number['message']['sender_name'] }} | {{ phone_number['message']['sender_email'] }} | {{ phone_number['formatted_value'] }} | {{ phone_number['message']['content']|truncate(250) }} |
{% for phone_number in phone_numbers %}
{% endfor %}
Clear Results
Full Context
{{ phone_number['message']['content'] }}


--- layout: archive title: Zulip Chat Archive permalink: /stream/113489-new-members/topic/deep.20recursion.20error.20reducing.20strings.html ---
I'm wondering why using #reduce to evaluate even one-character strings leads to a stack overflow in the default configuration of Lean? To replicate, try this.
#reduce "-"
A string is a list of chars. A char is a pair of a nat n
and a proof of n < 55296 ∨ 57343 < n ∧ n < 1114112
. The normal form of that proof is very very large.
Already the numbers that Rob posted are huge when you unfold them completely:
#reduce 15153 -- works #reduce 15154 -- stack overflow
I see. Ok. For pedagogy, this is inconvenient, as reduce doesn't work to show terms involving strings and #eval prints them in kernel rather than source format. But it is what it is, and I understand there's no workaround. Thank you, gentlemen.
Gabriel Ebner said:
Already the numbers that Rob posted are huge when you unfold them completely:
#reduce 15153 -- works #reduce 15154 -- stack overflow
#eval prints them in kernel rather than source format
Not sure exactly what you mean by this, but do you want #eval repr "-"
? (Same on that example, but compare with something with new lines or whatever.)
Last updated: Apr 24 2020 at 19:02 UTC


{{/* var user = struct{ description, name string isAnonymous bool }{ description: "foo bar baz", name: "zxc" } */}}{{/* var authorised = false */}}
{{ user.description }}
{{ else if authorised }}User has no description, why not add one...
{{ else }}User has no description
{{ end }}You're logged in as {{ user.name }}
{{ end }}{{ if !user.isAnonymous }}You're logged in as {{ user.name }}
{{ end }}


What we accomplished
We continued working on the MVP this week. We got gesture data collection working (ie. saving the gesture that one of your hands is making in Unity locally on the quest and then getting that data onto a computer). We also refactored some of the gesture and pose recognition to trigger arbitrary events to make integration with the backend easier. Implemented move and emit gestures using the pose recognition that we implemented last week. Began work on the back end to support more complex functions (ie. looping and modules), but we are putting this work on hold for now in order to finish the MVP.
- Logan: Refactored gesture and pose recognition to make integration with the backend easier and implemented move and emit gestures using pose recognition implemented last week.
- Sea-Eun + Yuma: Began implementation of more complex functions in the backend.
- Erik: Implemented gesture data collection, figured out how to transfer data from program -> quest -> computer.
Plan for next week
We need to finish our MVP by the beginning of next week. We will also be presenting our MVP and video demos so we wil need to spend some time figuring out how to stream our demo to the class. After the MVP, we will continue working on improving hand gestures, if necessary, and we will begin working on the module component of the backend.
Upcoming Challenges
We will be integrating our work that we have been doing independently by the beginning of next week, so it’s possible that this might be harder than we are anticipating. Currently, we are having one person record hand gestures that we are hoping will work for other members of the team, but it’s possible that the hand gesture might be too specific to the person recording it (however, this is why we allocated some time next week to improve the hand gestures if necessary).


{{Chinese|pic=Dan-dan noodles, Shanghai.jpg|piccap=Dandan noodles served in a Sichuan restaurant in Shanghai with the traditional red chili-oil sauce, pork, and scallions|s={{linktext|担担面}}|t={{linktext|擔擔麵}}|p=dàndànmiàn|j=daam1 daam 1 min6|t2={{linktext|擔仔麵}}|poj2=tàⁿ-á-mī|kanji=担々麺|kana=タンタンメン}} Dandan noodles or dandanmian (traditional Chinese: 擔擔麵, simplified Chinese: 担担面) is a noodle dish originating from Chinese Sichuan cuisine. It consists of a spicy sauce containing preserved vegetables (often including zha cai (榨菜), lower enlarged mustard stems, or ya cai (芽菜), upper mustard stems), chili oil, Sichuan pepper, minced pork, and scallions served over noodles.
Sesame paste and/or peanut butter is sometimes added, and occasionally replaces the spicy sauce, usually in the Taiwanese and American Chinese style of the dish.<ref>{{Cite book | last = Dunlop | first = Fuschia | title = Shark's Fin and Sichuan Pepper | publisher = W.W. Norton & Co | year = 2008 | isbn = 0-393-06657-6}}</ref> In this case, dandanmian is considered as a variation of ma jiang mian (麻醬麵), sesame sauce noodles. In American Chinese cuisine, dandanmian is often sweeter, less spicy, and less soupy than its Sichuan counterpart.
Contents |
The name refers to a type of carrying pole (dan dan) that was used by walking street vendors who sold the dish to passers-by. The pole was carried over the shoulder, with two baskets containing noodles and sauce attached at either end. The noodles cost almost nothing, and gradually local people came to call them dandan noodles. Literally, the name translates as "noodles carried on a pole", but may be better translated as "peddler's noodles".
A variety of English spellings are used. The first word may be either dandan, dundun or tantan, and the last word may also be spelled mein.
The same sauce is frequently served over poached chicken (called bonbon or bangbang chicken (棒棒鸡)), and on steamed, meat-filled dumplings in another Sichuan dish called suanla chaoshou. The corresponding Japanese dish is tantan-men, a form of ramen (formally 担担麺, as in Chinese, but often written with 々, or with 坦 instead of 担).
{{Portal bar|China|Food}}
{{reflist}}
{{Commons category|Dan dan mian}}
{{Sichuan cuisine}} {{Chinese noodles}}
{{DEFAULTSORT:Dandan Noodles}}


{% macro metadata_form_fragment(dataset_info) -%}
Fill out the name, description and frequency of update for your dataset. * denotes a required field


Views
Related Links
Help
Workload Infomation
Error: check the workload retieval call
Element Infomation
Click the request to retrieve elements for that request


This is Words and Buttons Online — a collection of interactive #tutorials, #demos, and #quizzes about #mathematics, #algorithms and #programming.
Interactive visual explanations of math and algorithms, with motivating examples from computer games.
https://www.redblobgames.com/
The world's first linear algebra book with fully interactive figures.
http://immersivemath.com/ila/index.html
The Textbook of the Future. Interactive. Personalised. Free.
https://mathigon.org/
Structure and Interpretation of Computer Programs. Interactive Version
https://xuanji.appspot.com/isicp/
An Interactive Introduction to Fourier Transforms
http://www.jezzamon.com/fourier/index.html
Clear, intuitive lessons about imaginary numbers, exponents, and more.
https://betterexplained.com/
An Interactive Introduction To Quantum Computing
http://davidbkemp.github.io/QuantumComputingArticle/
The website of Martin O'Leary artist, designer, teacher, researcher.
http://mewo2.com/
A Visual and Interactive Guide to the Basics of Neural Networks
https://jalammar.github.io/visual-interactive-guide-basics-neural-networks/
Interactive demos on network theory, game theory, trust etc.
https://ncase.me/
An interactive explanation of curves and surfaces
https://ciechanow.ski/curves-and-surfaces/
Introduction to geometric algebra — an invertible vector product and the implication of having one.
https://mattferraro.dev/posts/geometric-algebra
Interactive visualizations for different topics from physics and mathematics. Includes trigonometry, polynomial regression, and Bézier splines
https://visualize-it.github.io/
Assorted tutorials on computer graphics, size coding, and maths. Includes a mini-library of signed distance functions.
https://www.iquilezles.org/www/index.htm
A free, online book for when you really need to know how to do Bézier things.
https://pomax.github.io/bezierinfo/#explanation
A visual overview of commonly used creative coding related techniques and algorithms.
https://www.notion.so/Creative-coding-algorithms-techniques-c5550ef2f7574126bdc77b09ed76651b
A Visual and Interactive Introduction to Complex Analysis.
https://complex-analysis.com/
A collection of visualisation on linear algebra and geometry.
https://intuitive-math.club/
Sublucid Geometry — a place for uncommon knowledge.
https://zalo.github.io/
| All the source code for Words and Buttons is available on GitHub. | ||
| There is also RSS with all the news. | ||
|
I also wrote a book. It's called Geometry for Programmers and it is exactly what is says in the title. It's about splines, voxels, transformations, all in the context of efficient programming.
Here's why: why.html. |


{{ 'INVALID_EMAIL' | translate }}.
Also used to reset a forgotten password.
{{ 'PASSWORDS_DONT_MATCH' | translate }}.
Passwords don't match.
You can drag and drop aliases to order them.


WARNING
Content Under Development
See release page for latest official PDF version.
**Ray Tracing in One Weekend**
Peter Shirley
Version 1.54
Copyright 2018. Peter Shirley. All rights reserved.
**Chapter 0: Overview**
I’ve taught many graphics classes over the years. Often I do them in ray tracing, because you are
forced to write all the code but you can still get cool images with no API. I decided to adapt my
course notes into a how-to, to get you to a cool program as quickly as possible. It will not be a
full-featured ray tracer, but it does have the indirect lighting which has made ray tracing a staple
in movies. Follow these steps, and the architecture of the ray tracer you produce will be good for
extending to a more extensive ray tracer if you get excited and want to pursue that.
When somebody says “ray tracing” it could mean many things. What I am going to describe is
technically a path tracer, and a fairly general one. While the code will be pretty simple (let the
computer do the work!) I think you’ll be very happy with the images you can make.
I’ll take you through writing a ray tracer in the order I do it, along with some debugging tips. By
the end, you will have a ray tracer that produces some great images. You should be able to do this
in a weekend. If you take longer, don’t worry about it. I use C++ as the driving language, but you
don’t need to. However, I suggest you do, because it’s fast, portable, and most production movie and
video game renderers are written in C++. Note that I avoid most “modern features” of C++, but
inheritance and operator overloading are too useful for ray tracers to pass on. I do not provide the
code online, but the code is real and I show all of it except for a few straightforward operators in
the vec3 class. I am a big believer in typing in code to learn it, but when code is available I use
it, so I only practice what I preach when the code is not available. So don’t ask!
I have left that last part in because it is funny what a 180 I have done. Several readers ended up
with subtle errors that were helped when we compared code. So please do type in the code, but if you
want to look at mine it is at:
https://github.com/petershirley/raytracinginoneweekend
I assume a little bit of familiarity with vectors (like dot product and vector addition). If you
don’t know that, do a little review. If you need that review, or to learn it for the first time,
check out Marschner’s and my graphics text, Foley, Van Dam, et al., or McGuire’s graphics codex.
If you run into trouble, or do something cool you’d like to show somebody, send me some email at
<EMAIL_ADDRESS>I’ll be maintaining a site related to the book including further reading and links to resources at a
blog in1weekend related to this book.
Let’s get on with it!


Events from various domains in IoT
selected out of
events |
Reset All
Domains
Selected:
Reset
EventTypes
Selected:
Reset
Events
Selected:
Reset
Select time range to zoom in
Range:
Reset


gulp_place("app._BUILD_.example_el= toELID(app._BUILD_.example_el_id++)", "eval"); gulp_place("app._BUILD_.example_onkeyup= toKeyUp(app._BUILD_.example_el)", "eval");
As previou with different usuage of setShift:
setShift


Plugin note
This functionality is contained within an expression evaluator plugin. As such, it is available only when the corresponding plugin is installed.
Plugin assembly
CSF.Zpt.ExpressionEvaluators.NotExpressions.dll
Plugin class
CSF.Zpt.ExpressionEvaluators.NotExpressions.NotExpressionEvaluator
Expression prefix
not:
TALES 'not' expressions
A not:
expression is immediately followed by another expression - indicating a value.
That following expression is evaluated as a completely independent expression in its own right, starting with
an optional prefix, or treated as a
path:
expression if it has no prefix.
Once the value of the expression following the not:
prefix has been determined, its value is
interpreted as a boolean using the method below. Finally, that boolean value is inverted (a logical not).
Special rules for boolean interpretation
The not:
expression has specific rules for interpreting values as
booleans; these rules differ from the normal boolean coercion rules.
The following rules are processed in the order listed:
- If the value cancels the action then it is interpreted as false.
-
If the value is a
null
reference, then it is interpreted as false. -
If the value is a
System.Boolean
then it is interpreted as its boolean value. - If the value is of any numeric type and equals zero, then it is interpreted as false.
-
If the value is
System.Collections.IEnumerable
then it is interpreted as true if it contains any items. Otherwise (if it is an empty collection) then it is interpreted as false. -
If the value is of a type which implements
CSF.Zpt.Tales.ITalesConvertible
then theAsBoolean()
method is called from the value and the result of that method is used as the boolean interpretation. - All other values (numeric values other than zero, all non-empty strings, all other value-type values, and all other non-null reference-type instances) are interpreted as true.


Python toolkit for the Rally REST API¶
Rally supports a REST API that enables you to retrieve representations of entities in Rally, create entities in Rally, update existing entities in Rally and with proper permissions, delete entities in Rally.
Once you have the pyral package installed, all you need is a valid subscription to Rally, working credentials and the name of the workspace and project you want to interact with and you’re on your way!
For more information on obtaining a Rally subscription, visit the Rally website.
For more information on how workspaces and projects in Rally are set up and configured, consult the Rally documentation available via the ‘Help’ link from the Rally landing page displayed after your initial login.
Simple Use¶
Here’s a prototype of simple use of the pyral package.:
import sys
from pyral import Rally, rallyWorkset
options = [opt for opt in sys.argv[1:] if opt.startswith('--')]
server, user, password, apikey, workspace, project = rallyWorkset(options)
rally = Rally(server, user, password, workspace=workspace, project=project)
rally.enableLogging('rally.simple-use.log')
response = rally.get('Release', fetch="Project,Name,ReleaseStartDate,ReleaseDate",
order="ReleaseDate")
for rls in response:
rlsStart = rls.ReleaseStartDate.split('T')[0] # just need the date part
rlsDate = rls.ReleaseDate.split('T')[0] # ditto
print("%-6.6s %-16.16s %s --> %s" % \
(rls.Project.Name, rls.Name, rlsStart, rlsDate))
Rally Data Model¶
All Rally entities belong to a hierarchical data model and every Rally entity ultimately is a descendent of the PersistableObject class. There are several branches in the data model, and each branch has its own set of attributes differentiated according to the functional capabilities and information tracking needs that characterize the branch. For more information on the Rally data model, consult the Rally documentation available via the ‘Help’ link from the Rally page displayed after the initial login.
Rally Entities and Artifacts¶
In the Rally vernacular, a logical entity is called a type. Some examples of Rally types are UserStory, Defect, Release, UserProfile. There is a subset of types that are usually what a user of pyral will be interested in called artifacts. An artifact is either a UserStory, Defect, Task, DefectSuite, TestCase or TestSet. The Python toolkit for the Rally REST API (pyral) is primarily oriented towards operations with artifacts. But, it is not limited to those as it is very possible to view/operate on other Rally entities such as Workspace, Project, UserProfile, Release, Iteration, TestCaseResult, TestFolder, Tag and others.
Full CRUD capability¶
The Python toolkit for the Rally REST API offers the full spectrum of CRUD capabilities that the credentials supplied for your subscription/workspace/project permit. Rally REST API did not originally support bulk operations when this toolkit was written. Since the 2017/2018 timeframe the Rally REST WSAPI has provided some bulk operations, but this toolkit doesn’t use those or provide access to them. There are example usages of pyral that you can adapt to offer the end-user or scriptwriter the capability of specifying ranges of identifiers of artifacts for querying/updating/deleting.
Rally Introspection¶
The Python toolkit for the Rally REST API makes it easy to obtain the names of Rally types (entities) and the attributes associated with each type. You can also use pyral capabilities to obtain the list of allowed values for Rally type attributes that have a pre-allocated list of values.
Queries and Results¶
The Rally REST API has two interesting characteristics that the Python toolkit for the Rally REST API insulates the scriptwriter from having to deal with. The first is that the Rally REST API has a maximum “pagesize” to limit volume and prevent unwarranted hijacking of the Rally SaaS servers. But, having script writers deal with this directly to obtain further “pages” would be burdensome and out of character with the mainstream of Python interfaces to SaaS services. The Python toolkit for the Rally REST API (pyral) takes care of the paging transparently, allowing the scriptwriter to treat a result set as an iterator, merely looping through the results without any indication of any sequence of further requests on the Rally server.
The second characteristic is that the Rally REST API for some queries and results returns not a scalar value but a reference to yet another entity in the Rally system. A Project or a Release are good examples of these. Say your query specified the retrieval of some Stories, and you listed the Project as a field to return with these results. From an end-user perspective, seeing the project name as opposed to an URL with an ObjectID value would be far more intuitive.
The Python toolkit for the Rally REST API offers this sort of intuitive behavior by “chasing” the URL to obtain the more human friendly and intuitive information for display. This sort of behavior is also present in so-called “lazy-evaluation” of entity attributes that may be containers (collections) as well as references. The scriptwriter merely has to refer to the attribute with the dot (‘.’) notation and pyral takes care of the communication with the Rally server to obtain the value. There are two significant advantages to this, one being lightening the load on the server with the reduction of data returned and the other being easy and intuitive attribute access syntax.
The query relational operators that pyral supports are::
= != > < >= <= contains !contains in !in between !between
The contains and !contains relational operators are helpful in expressing a condition where you are looking for a field that does (or does not) contain a specific substring. For example ‘Name contains “Prior Art”’ or ‘ThermalPhase !contains “hot lava”’. The in and !in relational operators are commonly used for expressions involving subsets of a finite set of values. For example ‘Severity in High, Burning, Explosive’ or ‘Priority !in Moribund, Meh’. The between and !between relation operators are commonly used for expressions involving date ranges. For example ‘CreationDate between 2018 and 2022’ or ‘LastUpdated !between 2021-09-22T00:00:00.000Z and 2021-09-22T07:59:59.999Z’.
Custom Fields¶
Most Artifact types in Rally can be augmented with custom fields. As of Rally WSAPI v2.0, the ElementName for a custom field is prefixed with ‘c_’. The pyral toolkit allows you to reference these fields without having to use the ‘c_’ prefix. For example, if your custom field has a DisplayName of ‘Burnt Offerings Index’ you can use the String of ‘BurntOfferingsIndex’ in a fetch clause or a query clause or refer to the field directly on an artifact as artifact.BurntOfferingsIndex.
PortfolioItem tips¶
Rally has 4 standard PortfolioItem sub-types (Theme, Strategy, Initiative, and Feature). In this toolkit, for the primary methods (get, create, update, delete), you must supply a entity name (eg, ‘Story’, ‘Defect’, ‘Task’, etc). For a PortfolioItem sub-type you may specify just the name of the sub-type, ie., ‘Feature’ or you may fully qualify it as ‘PortfolioItem/Feature’.
Introduction of Dyna-Types¶
Prior to the release of Rally WebServices API v2.0, Rally introduced a modification of their data model, which is termed dyna-types. This modification offers a means of establishing and using a parent type and defining sub-types of that parent. The PortfolioItem type is now an “abstract” type from which there are some pre-defined sub-types (Theme, Strategy, Initiative, Feature). By convention, the preferred way to identify a PortfolioItem sub-type is via slashed naming, eg. ‘PortfolioItem/Feature’. While it is possible to identify a PortfolioItem sub-type by the sub-type name, eg, (Theme), this is not the preferred means. The reason for the latter statement is that with dyna-types it is possible to define new “abstract” types and define sub-types therefrom that may have names identical to a sub-type whose parent differs from your newly defined “abstract” type.
An example of this is a fictional “abstract” parent type named “Bogutrunk” (for a type that encompasses stories about requests for things you’ll never implement and aren’t bugs, but you want to track them anyway). Additionally, let’s say you define some sub-types whose parent type is “Bogutrunk” and are named “Outlandish”, “NonScalable”, “Theme” and “Feature”. Now, identifying a specific NonScalable Bogutrunk item is unambiguous; you’d just specify the entity in any pyral get/put/post/delete as a “NonScalable”. But, you cannot use that convention for a “Feature”. You’d need to specify one as a “Bogutrunk/Feature” to disambiguate from a “PortfolioItem/Feature”. The main take-away here is that if you don’t use PortfolioItem instances with pyral, you don’t have worry about this. If you use PortfolioItem instances with pyral or you’ve defined your own “abstract” parent types and specific sub-types thereof, you are strongly encouraged to use the slashed specification to avoid ambiguity in identifying the Rally entity type.
In the event your organization has created a sub-type with the same name as a standard Rally entity (eg, ‘Project’, ‘Release’, ‘Milestone’, etc.) you will be unable to use this toolkit to access those items. There will be no consideration given to supporting any custom PortfolioItem sub-type whose name conflicts with a Rally standard entity name.


Search restaurants in a location you want or near your current location!
Register to save your favourite restaurants!
Rating: {{entry['rating']}}
Price: {{entry['price']}}
Phone: {{entry['display_phone']}}
Address: {{entry['location']['address1']}}, {{entry['location']['city']}}, {{entry['location']['state']}} {{entry['location']['zip_code']}}, {{entry['location']['country']}}
Last updated 3 mins ago


---
layout: post
title: Street Grids Colored By Orientation – Data Pointed
date: '2014-10-28T08:42:37-07:00'
tags:
- materials
- crystallography
- data
- losangeles
- fromtheinternet
tumblr_url: http://beekley.xyz/post/101178039176/street-grids-colored-by-orientation-data-pointed
---
Street Grids Colored By Orientation – Data Pointed
Crystallographic LA


16 April 2016
This could be a large blog entry, there is so much consider when it comes to objects in javascript.
What I have learned that triggered this blog:
The constructor function is the prototype for an object. For some reason, I had thought the two were seperate.
Also, the constructor function is not restricted to assigning properties to the instance of the prototype, it can do other things like contain variables just like other functions do, that will not be part of the object once it’s created (free code camp person example. For example, the advance algorithm challenge on free code camp tripped me up for quite some time, but the resulting contractor function was:
var Person = function(firstAndLast) {
var firstName = firstAndLast.split(" ").shift();
var lastName = firstAndLast.split(" ").pop();
this.getFirstName = function() {
return firstName;
};
this.setFirstName = function(first) {
firstName = first;
};
We can change the prototype if we wanted, which will also change all the instances of that object prototype: Person.prototype.nationality = “”;
Now all Persons created by the constructor will have a nationality defaulted to “”. This is because each Person ‘inherits’ from the Person prototype.
By using prototypes and object inheritance, we can effectively create classes in javascript, in the same way other programming languages do. The example on MDN is hard to make sense of as a beginner, but I think I have my head round it now.
Creating inheritance between two object prototypes is very powerful, and simple to achieve. For example, say we create a parent object prototype. Then we want to make a child object prototype. To make the child inherit the characteristics of the parent prototype, we need to have the following code somewhere after the prototype function:
child.prototype = new parent();
This creates a new instance of the parent prototype, inside the child object. Now the child will inherit all the characteristics of the parent.
Alternatively, we can call the parent constructor inside the child constructor with:
Parent.call(this);
this will also create inheritance.
If we want to create inheritance and pass property values up the inheritance chain, it requires a little more code (note the word father is nothing special, it can be anything:
this.father = Parent;
this.father(value, value, value);
These lines in an object constructor (prototype) will also create inheritance, as well has share the values passed to the child object, on to the parent object.
MIND. BLOWN.


SHANKED IT
Dundee United ace Lawrence Shankland ‘facing weeks out’ with injury
by Ewan PatonDUNDEE UNITED star Lawrence Shankland faces weeks out injured, according to reports.
The Arabs hitman has been in sensational form at club level this season, following on from two great seasons at Ayr.
The striker also made his Scotland debut against Russia last month, and even scored versus San Marino to bag his first for his country.
However, according to the Daily Record, the 24-year-old is now set for a spell on the sidelines.
They say that he's torn a thigh muscle while away on Scotland duty with Steve Clarke's men.
It's a huge blow for Robbie Neilson at United, with the bagsman netting 17 times already this term.
He picked up the injury during the warm-up ahead of Saturday's 2-1 win over Cyprus.
Scans have now revealed that the attacker has suffered a small tear on his upper leg.
Shankland subsequently pulled out of the squad and was replaced by Kilmarnock's Eamonn Brophy.
It is believed he will be out for at least two weeks, depending on how treatment goes for the injury.
It means he will miss games against Morton and Alloa.
The good thing for United head coach Robbie Neilson is that his team managed to see off Queen of the South without Shankland at the weekend.
Meanwhile, Scott Brown has refused to rule out a sensational Scotland return at the Euros.
The Celtic skipper quit the international scene for a second time in February 2018.
But Brown, 34, has left the door open to pulling on the national shirt again if Steve Clarke’s side make it through March’s play-offs.
Asked if Clarke was to sound him out, Brown said: “They still have two games to get through but you never say never.
“It would be phenomenal to get to a finals after 22 years. Football’s a funny game and you never know.
“I’m in a good place fitness-wise in terms of my body and I make sure I keep myself ticking over."


{% extends 'base.html' %} {% load bootstrap4 %} {% load static %}
{% block styles %} {% bootstrap_css %} {% endblock %} {% block content %}Tim Savage
Marketing
Justin Shaifer
Consulting
Hannah Nelson
Marketing
Sheila Xavier
Operations
John Morrison
Marketing
Anna Tarazevich
Consulting
Lily Aldrin
Customer Service
Bobby Armstrong
Operations
Godisable Jacob
Finance
Terazine Jackson
Visual Communication
Luke Selover
Founder and CEO
Jeanette Mosby
Human Resources
For more, you can subscribe to our newsletter and receive daily updates about the firm. Just fill in the form below and we are good to go.
Ngong Lane, Ngong Lane Plaza. 1st
Floor. Nairobi, Kenya


Posted on 02 December 2014
This is my Jug blog.Here are my list of contribution
->Jbake addon
->eWidgetFX
->JRebirth
Posted on 02 December 2014
This is my Jug blog.Here are my list of contribution ->Jbake addon ->eWidgetFX ->JRebirth
Read MorePosted on 02 December 2014
This is my Jug blog.Here are my list of contribution ->Jbake addon ->eWidgetFX ->JRebirth
Read MoreLorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore, perspiciatis adipisci accusamus laudantium odit aliquam repellat tempore quos aspernatur vero.


{% extends "base.html" %} {% block title %} Group Results {% endblock %} {% block content %}
This application is intended for demonstration purposes only. No financial advice is given or implied.


TABLE OF CONTENTS
A. GS1 Related Social Issues 1. ‘It is for States to crack down on cow vigilantes’ B. GS2 Related Governance 1. Nirbhaya scheme in disarray: SC International Relations 1. Strident Pakistan presses for UN envoy on Kashmir 2. India plans to train Afghan police officers C. GS3 Related Science and Technology 1. Next PSLV launch in November-December Environment 1. From ocean to ozone, the limits of our planet Economy 1. Tax trauma D. GS4 Related E. Prelims Fact F. UPSC Prelims Practice Questions G. UPSC Mains Practice Questions
1. ‘It is for States to crack down on cow vigilantes’
Keypoints:
- It is the state governments prime responsibility to crack down on cow vigilante groups.
- Chief Secretaries of 22 States to file their compliance reports on steps taken and also appoint a nodal police officer in the rank of Deputy Superintendent of Police, to prevent cow vigilantes, or ‘gau rakshaks’ as they call themselves, from “taking the law or becoming a law unto themselves.”
Who are Cow Vigilantes?
- Vigilante is a form of the word “vigilant,” which means keeping a watchful or close eye on events and people.
- If you’re a vigilante, you might take the law into your own hands by trying to catch or punish someone in your own way.
1. Nirbhaya scheme in disarray: SC
Context:
- A 10-year-old rape survivor from Chandigarh who recently gave birth, has not received the Rs.9 lakh due to her from the Central Victim Compensation Fund under the Nirbhaya scheme.
Keypoints:
- Money is provided as a fixed deposit to tackle the psychological well-being, medical treatment and education of the victim.
- It was part of the total Rs.10 lakh the Supreme Court had awarded her while denying her an abortion. So far, her family has received only Rs.1 lakh.
- The disbursal of compensation to sexual assault victims under the Nirbhaya scheme, started in 2013 following the brutal gang-rape and death of a 23-year-old student in Delhi.
- The Centre has disbursed Rs.200 crore each to the States to compensate sexual assault victims under the Nirbhaya fund. Yet the disbursal to the victims is delayed.
- Few States have spent the money on CCTV cameras and other “paraphernalia” rather than using it to pay compensation to the human victims of sexual assault and abuse.
About the Nirbhaya Fund
- Nirbhaya Fund is an Indian rupee 10 billion corpus announced by Government of India in its 2013 Union Budget.
- This fund is expected to support initiatives by the government and NGOs working towards protecting the dignity and ensuring safety of women in India.
- Nirbhaya (fearless) was the pseudonym given to the 2012 Delhi gang rape victim to hide her actual identity.
- The Ministry of Women and Child Development, along with several other concerned ministries, will work out details of the structure, scope and the application of this fund.
Category: INTERNATIONAL RELATIONS
1. Strident Pakistan presses for UN envoy on Kashmir
Keypoints:
- Pakistan blames India and Afghanistan for the volatile security situation in the region.
- Pakistan denies that it is harbouring terrorists who target both the countries and also denies any role for Pakistan in supporting the Taliban.
- Islamabad has diverted international military and development aid towards creating “a dangerous infrastructure of terror on its own territory,”
- Pakistani Prime Minister sought the appointment of a special UN envoy on Kashmir, and accused India of human rights violations in Jammu and Kashmir.
- The Pakistan PM told the UNGA that “…if India does venture across the LoC or acts upon its doctrine of “limited” war against Pakistan, it will evoke a strong and matching response,” he said, adding that his country had “faced unremitting hostility” from India.
- Abbasi sought an international investigation into “India’s crimes in Kashmir.”
2. India plans to train Afghan police officers
Context:
- MoU supported by UNDP, could be signed next week to train the Afghan Police.
Objective:
- Ultimately enhancing the security partnership between India and Afghanistan by providing top grades security and defense capabilities to the Afghan government.
Keypoints:
- India had earlier trained the Afghan National Army officers and soldiers for four years.
- India is now planning to train Afghan police officers.
- Indian knowledge and experience is going to be very useful especially in counter-terror, and counter-narcotic moves.
- Afghan expects to shape the outlines of the U.S.’s newly announced Afghanistan policy, in which U.S. President Donald Trump called for greater Indian involvement in development projects in Afghanistan.
- US envoy for bilateral talks on the Indo-U.S. defence partnership is expected to discuss the security situation in Afghanistan, as well as the U.S.’s declared policy to shut down “safe havens for terror” in Pakistan.
Trilateral meet
- Looking at it as a good opportunity for India, Afghanistan and the U.S. to develop their partnerships in Afghanistan, the focus will be on further enhancing our cooperation in the economic and development field.
- Afghan representative hopes that Indian businessmen would see that investing in Afghanistan would “pay them back” in the region as well, once India completes the Chabahar port in Iran.
India’s response:
- The External Affairs Ministry did not respond to requests on the plan to train police officers.
- Reason being the brunt of a spike in attacks by Taliban since 2016, when about 6,300 members of Afghan security and defence forces were killed.
- At present about 200 Afghan soldiers are trained at a time at the Indian Military Academy, including 130 cadets and 30 to 40 officers.
- The training of police officers, which India had first offered to Afghanistan in 2011, will be a significant step in security ties, which are a small part of the relationship, compared with India’s $3 billion investment in civilian projects since 2002, with 116 new projects announced this month.
- In 2016, India sent Afghanistan four Russian-made Mi-25 helicopters, but has yet to concede to Afghan requests for more equipment, transport vehicles, while an agreement for Indian engineers to repair the helicopters and to refurbish old aircraft that is non-functional, has still not been finalised.
Category: SCIENCE AND TECHNOLOGY
1. Next PSLV launch in November-December
Keypoints:
- Aerospace Technologies, AseT 2017, was organized by the Aeronautical Society of India (AeSI) and the Vikram Sarabhai Space Centre.
- ISRO Chairman said the next launch of the PSLV will be in November-December.
- Certifying a system or a technology for actual usage is a problem which was similar among the developing countries, says Chairman of ISRO.
- Government agencies and industry partners could design, build, and realise products.
- Technology needs to be consistently upgraded so that India was globally competitive in the sector.
- There was a need to accelerate commercialization of technologies we developed. The nation faced a major lacuna in terms of design capabilities.
1. From ocean to ozone, the limits of our planet
Keypoints:
- The population of vertebrate species on Earth in the wild saw a dramatic fall of about 30% between 1970 and 2006.
- Reason being the worst effects being in the tropics and in freshwater ecosystems.
- Habitats destruction by pollutants and land-use change are destroying flora and fauna at unprecedented rates.
- The natural habitats, such as water and land, transformed or destroyed as a result of human activity that in fact far exceeds the biological capacity of the earth.
- According to the Stockholm Environment Institute, the elements of the biophysical world that link us together are often regarded as a “safe operating space for humanity”.
- These planetary boundaries include loss of biodiversity, land-use change, changes to nitrogen and phosphorus cycles, ocean acidification, atmospheric aerosols loading, ozone depletion, chemical production, freshwater use and, of course, climate change.
- Since the last ice age, the Holocene epoch has offered a stable climate, a period of grace for humanity to grow and to flourish, with settlements, agriculture, economic and population expansion.
- Today the Anthropocene epoch, whose exact beginnings are debated, but which has led to over-reliance on fossil fuels, industrial agriculture, pollution in water, soils and air, loss of species and so on, have been devastating for many life forms and connected ecosystems throughout the planet.
- The ecosystems that are stressed by their exposure to pollutants may not recover once the pollutants are removed.
- These boundaries interact with one another and cause changes across scales, crossing a threshold in one domain can speed up or undermine processes in another subsystem.
- For instance, greenhouse gas (GHG) emissions increase ocean acidification, land-use change often increases GHG emissions, and increasing nitrogen and phosphorus deplete species biodiversity and freshwater resources and increase warming from climate change.
- Considering the stats today earth is already about a degree Celsius warmer than average pre-industrial temperatures.
- Thus planetary boundaries as support systems for life on Earth should be viewed as expressing “carrying capacity” and defining “limits to growth”.
On sustainability
- The idea of sustainability is embedded in the human imagination and is expressed through our ideas of nature, society, economy, environment and future generations. But it became formally a part of international agreements and discourse at the Earth Summit of 1992 in Rio de Janeiro.
- The safety of the future generations lies on the view and the recognition of interlinkages among the social, environmental, and economic pillars of sustainability, and between biophysical planetary boundaries and social conditions.
1. Tax trauma
Context:
- Anomalies in the GST management are increasing the anxiety among Indian businesses
Keypoints:
- The GST Network (online backbone), is struggling to keep pace with the millions of invoices and returns being filed electronically by businesses across the country.
- A ministerial group formed by the GST Council to resolve the GSTN’s glitches gave an assurance that 80% of the problems would be fixed by the end of October.
- Critically, for an economy that is slowing down for multiple reasons, even more troublesome is the implication of these implementation stumbles for 85 lakh taxpayers now registered for GST.
- Exporters have already alerted the Centre that the delayed timelines for filing GST returns will mean that no refunds can be expected before mid-November on input taxes paid in advance and the integrated GST levied on goods they imported.
- This will result in working capital getting blocked, cramping their ability to ramp up capacity and raw material procurement in time for festive season orders from around the world.
- Government has asserted that many exporters’ funds were blocked for five-six months even before the GST, even as it said a solution to speed up refunds is being worked out.
- Moreover, in contrast to the ₹95,000-crore GST collections recorded so far for July, about ₹65,000 crore has been claimed as transitional credit (that is, taxes paid on stock purchased before the GST).
- Several revisions in deadlines, tax and cess rates, rules, clarifications and tweaks later, the GST regime is turning out to be neither simple nor friendly for taxpayers.
Nothing here for Today!!!
Nothing here for Today!!!
F. Practice Questions for UPSC Prelims Exam
Question 1. What are Shell Companies?
- Shell Company is a corporate entity without active business operations or significant assets.
- There is clear definition of shell companies in the Companies Act, 2013.
Select the correct option
- 1 only
- 2 only
- Both 1 and 2
- None of the above
Question 2. Consider the following statements with respect to Nuclear
Non-Proliferation Treaty (NPT)
- Prevent the spread of nuclear weapons and weapons technology.
- Promote cooperation in the peaceful uses of nuclear energy.
- Nuclear disarmament.
Which of the above mentioned options are the objectives of NPT?
- 1 only
- 1 and 2
- 2 and 3
- All the above
Question 3. What is Nuclear Suppliers Group?
- The NSG is a multi-national body which aims at reduction of proliferation of nuclear weapons.
- The NSG was set up in response to India’s first nuclear test in May 1974.
- India hasn’t signed the NPT or CTBT and hence there has been aversion from China to accept it in the NSG bloc.
Select the correct options
- 1 only
- 2 only
- 1 and 2
- All the above
Question 4. Consider the following statements with respect to Telecom Regulatory
Authority of India (TRAI)
- TRAI is an independent regulator of the telecommunications business in India. It came into existence by the Act of the Parliament in 1997.
- Its mandate is to deliver a fair and transparent environment for fair competition in telecom market.
Select the correct option/s
- 1 only
- 2 only
- Both 1 and 2
- None of the above
G. UPSC Mains Practice Questions
GS Paper I
- Is policy implementation a hurdle in the path of minority progress? Critically analyse with respect to the recent Nirbhaya victim compensation.
GS Paper III
- The thin boundary between the elements of the biophysical world that provides the safe operating space for humanity is misused. Comment.
Also, check previous Daily News Analysis
“Proper Current Affairs preparation is the key to success in the UPSC- Civil Services Examination. We have now launched a comprehensive ‘Current Affairs Webinar’. Limited seats available. Click here to Know More.”
Enroll for India’s Largest All-India Test Series


The activation of the JAK2 /STAT5 pathway is commonly involved in signaling through the human IL-5 receptor.
Abstract
The JAK (Janus kinase) family of protein tyrosine kinases and the STATs (signal transducers and activators of transcription) have been shown to be activated in response to a number of cytokines and growth factors. In this study, we evaluated the activation of JAK /STAT pathway upon human interleukin-5 (hIL-5) stimulation of two different hIL-5-responsive cell lines, hIL-5 receptor alpha-subunit (hIL-5R alpha) cDNA-transfected TF-1 (TF-h5R alpha) and butyric-acid-treated YY-1 (YY-Bu), and peripheral eosinophils. Immunoprecipitation and electrophoretic mobility shift analysis revealed that tyrosine phosphorylation of JAK2 and activation of STAT5 were induced upon stimulation with hIL-5 in all three cell types, while STAT1 activation was only observed in eosinophils. These results indicate that JAK2 /STAT5 activation is a common JAK /STAT pathway for hIL-5 -mediated signal in these cells.


Tycho provides a set of classes that are added to top-level windows to perform certain well-defined functions. There are currently three of these "decorator" classes.
("Decorator" is perhaps a poor name for this set of classes since the meaning is very different from the Decorator object-oriented design pattern.)
The MenuBar class is a complete application menu bar. (MenuBar
is a subclass of the abstract class MenuSupport, which implements
most of the menu functionality.) The Displayer
top-level window contains a MenuBar object for each View
packed into it. Views are responsible for maintaining their own
menu bars: they each have a method called menubar
which
directs commands to its menu bar; each view subclass adds
appropriate entries to the menubar.
To illustrate the workings of the menu bar, we will just create a
menu bar and pack it into a top-level window. To understand the
Displayer-View machinery, see the documentation for the Displayer and View classes. Create a top-level
window and and an empty menubar:
set f [::tycho::autoName .dechtml]
::tycho::TopLevel $f
::tycho::MenuBar $f.mb
pack $f.mb -fill x -expand on
$f centerOnScreen
$f.mb addMenu file -label File
$f.mb addMenu help -label Help -side right -underline 0
Help
menu is packed to the right of the menu bar.
The -underline
option places an underline under the
indicated letter of the label and enables keyboard navigation through
menus.
The menu bar accesses all menus and menu entries by tag -- that
is, by the first argument you gave when you created the menu.
To add
entries to a menu, call add
with the entry label, the
name of the menu to place the entry into, and additional options. For
example, we'll add a Close
menu choice to the File
menu and a Tycho Home Page entry to the Help
menu:
$f.mb add command close file -label Close -command {delete object $f}
$f.mb add command home help -label {Tycho Home Page} \
-command {::tycho::File::openContext \
$TYCHO/doc/index.html} \
-underline 0 -accelerator "C-x h"
File
and Help
menu buttons to
bring down the menus.) Note that labels containing spaces must be
bracketed as a list, or the menu bar will get confused -- as in
{Tycho Home Page}
.
The add
command takes any options acceptable to the
entries of the Tk menu
widget. Three commonly-used
ones are illustrated above:
-command
is a script which is executed in the
global scope when the menu entry is invoked.
-underline
indicates the letter of the label to
underline and enables keyboard selection of that entry.
-accelerator
displays a string next to the menu,
which represents a key accelerator for the menu command. The menu
bar only displays this string: it does not actually bind the command
to the indicated key sequence. (This is an artifact of the way
that Tk works -- we are considering making the menu bar perform the
key bindings as well as displaying the accelerator string.)
You can add a separator to a menu:
$f.mb add separator sep1 help
$f.mb add command foo help -label Foo -command {::tycho::inform Foo!}
Individual menu entries can be disabled and enabled:
$f.mb disable home
Help
menu: the Tycho Home Page
entry is greyed out and cannot be invoked.) Whole menus can be
disabled in exactly the same way:
$f.mb disable file
enable
:
$f.mb enable home
$f.mb enable file
class
documentation.
The StatusBar is a bar designed to be placed along the bottom
of top-level windows. It contains a button to close the window,
an optional field indicating file status (writable, read-only, or
modified), and an area in which short but informative status messages
can be displayed. Usually, the status bar is accessed from a View
class, which has the method statusbar
to
direct commands to its status bar.
To illustrate the operation of the status bar, we will create one
and pack it into a top-level window with a empty frame to give the
window some size:
set fr [::tycho::autoName .dechtml]
::tycho::TopLevel $fr
frame $fr.f -width 300
pack $fr.f -fill x -expand on
::tycho::StatusBar $fr.sb -closecommand {delete object $fr}
pack $fr.sb -fill x -expand on
$fr centerOnScreen
-closecommand
option, which deletes the object
when the close button is pressed.
The status bar has a number of other options that control its appearance.
To add a file status display, set the -filestatus
to
readonly
, writable
, or modified
:
$fr.sb configure -filestatus readonly
$fr.sb configure -filestatus modified
$fr.sb configure -closetext Quit
$fr.sb configure -scrollbarpad 1
puts
prints a string to the status region:
$fr.sb puts "A brief but informative message"
$fr.sb puts ""
<Enter>
and <Leave>
events -- that way the status bar can be used
as a simple help mechanism.
For example, the toolbar can be set up so that
information about a button is printed in the status bar
when the mouse is moved over that button.
The ToolBar is a bar designed to be placed along the top of top-level windows. It contains a row of buttons that make commonly-used functions highly visible to the inexperienced user. It can also display entry widgets below the buttons -- these are typically used when the temporary nature of the StatusBar display is not sufficient, or when direct user input is desired without popping up a dialog box (or both!).
We will place the toolbar in an empty top-level window
to illustrate its operation. Usually, the toolbar will be
accessed through the toolbar
method of the View class.
We will use the same window as for the status bar -- if you have
closed it, go back and create another. Then:
::tycho::ToolBar $fr.tb -statusbar $fr.sb
pack $fr.tb -fill x -expand on -before $fr.f
$fr.tb button foo -description "The first button" \
-text "Push Me" \
-command {::tycho::post Thanks!}
$fr.tb button bar -description "The second button" \
-text "Push Me Too" \
-command {::tycho::post {Thanks again!}}
$fr.tb disable foo
$fr.tb enable foo
$fr.tb entry thing "Enter something here" "Start with" {::tycho::post}
get
:
$fr.tb get
$fr.tb disable thing
$fr.tb enable thing
MenuBar class documentation
MenuSupport class documentation
ToolBar class documentation
StatusBar class documentation
Tycho Home Page


From:Fancler Dan To:Botello Mary Sent:2017-01-11T04:38:06.0000000Z Subject:FW: R Cost Centers
Sorry we could not meet. The problem seems to be Mary lists the total in R 112386 as $114,109.41 while in SAP the total is $64,720.92. Please see attached. I don't see how Mary's report could possibly tie to SAP. Please provide me an SAP report that details $114,109.41 in R112386 because the one I run keeps coming up with $64,720.92.
-----Original Message-----
From: Fancler, Dan
Sent: Tuesday, August 07, 2001 6:49 AM
To: Botello, Mary
Subject: RE: R Cost Centers
Lets meet at 1:00 pm
-----Original Message-----
From: Botello, Mary
Sent: Monday, August 06, 2001 5:43 PM
To: Fancler, Dan
Subject: R Cost Centers
Importance: High
Dan,
Are you available to meet with Tracy and me tomorrow, August 7, for about 30 minutes between 11:30 and 2, in Tracy's office? Let me know. We can compare reports and see where we are not connecting.
Mary
***********
EDRM Enron Email Data Set has been produced in EML, PST and NSF format by ZL Technologies, Inc. This Data Set is licensed under a Creative Commons Attribution 3.0 United States License <http://creativecommons.org/licenses/by/3.0/us/> . To provide attribution, please cite to "ZL Technologies, Inc. (http://www.zlti.com)."
***********
California


Class TestFixture_02_InteractionDefinitionTests
Inherited Members
Namespace: XRTK.Tests.InputSystem
Assembly: XRTK.Tests.dll
Syntax
public class TestFixture_02_InteractionDefinitionTests
Methods
| Improve this Doc View SourceInitializeBoolInteractionMapping()
Declaration
public MixedRealityInteractionMapping InitializeBoolInteractionMapping()
Returns
| Type | Description |
|---|---|
| MixedRealityInteractionMapping |
InitializeFloatInteractionMapping()
Declaration
public MixedRealityInteractionMapping InitializeFloatInteractionMapping()
Returns
| Type | Description |
|---|---|
| MixedRealityInteractionMapping |
InitializeMixedRealityPoseInteractionMapping()
Declaration
public MixedRealityInteractionMapping InitializeMixedRealityPoseInteractionMapping()
Returns
| Type | Description |
|---|---|
| MixedRealityInteractionMapping |
InitializeQuaternionInteractionMapping()
Declaration
public MixedRealityInteractionMapping InitializeQuaternionInteractionMapping()
Returns
| Type | Description |
|---|---|
| MixedRealityInteractionMapping |
InitializeRawInteractionMapping()
Declaration
public MixedRealityInteractionMapping InitializeRawInteractionMapping()
Returns
| Type | Description |
|---|---|
| MixedRealityInteractionMapping |
InitializeVector2InteractionMapping()
Declaration
public MixedRealityInteractionMapping InitializeVector2InteractionMapping()
Returns
| Type | Description |
|---|---|
| MixedRealityInteractionMapping |
InitializeVector3InteractionMapping()
Declaration
public MixedRealityInteractionMapping InitializeVector3InteractionMapping()
Returns
| Type | Description |
|---|---|
| MixedRealityInteractionMapping |
Test_01_01_InitializedRawData()
We test by initializing a new MixedRealityInteractionMapping. We expect that Changed == false.
We expect that Updated == false.
Declaration
[Test]
public void Test_01_01_InitializedRawData()
Test_01_02_ObjectChangedAndUpdated()
We test by setting the interaction data to two different values.
We expect that Changed == true, then false after each subsequent check before assigning a new value.
We expect that Updated == true, then false after each subsequent check before assigning a new value.
Declaration
[Test]
public void Test_01_02_ObjectChangedAndUpdated()
Test_01_03_ObjectNoChangeAndUpdated()
We test by setting the interaction data to the same object multiple times.
We expect that Changed == false.
We expect that Updated == true.
Declaration
[Test]
public void Test_01_03_ObjectNoChangeAndUpdated()
Test_02_01_InitializedBoolData()
We test by initializing a new MixedRealityInteractionMapping. We expect that Changed == false.
We expect that Updated == false.
Declaration
[Test]
public void Test_02_01_InitializedBoolData()
Test_02_02_BoolChangedAndUpdated()
We test by setting the interaction data to two different values.
We expect that Changed == true, then false after each subsequent check before assigning a new value.
We expect that Updated == true, then false after each subsequent check before assigning a new value.
Declaration
[Test]
public void Test_02_02_BoolChangedAndUpdated()
Test_02_03_BoolNoChangeAndUpdated()
We test by setting the interaction data to the same object multiple times.
We expect that Changed == false.
We expect that Updated == true.
Declaration
[Test]
public void Test_02_03_BoolNoChangeAndUpdated()
Test_03_01_InitializedFloatData()
We test by initializing a new MixedRealityInteractionMapping. We expect that Changed == false.
We expect that Updated == false.
Declaration
[Test]
public void Test_03_01_InitializedFloatData()
Test_03_02_FloatChangedAndUpdated()
We test by setting the interaction data to two different values.
We expect that Changed == true, then false after each subsequent check before assigning a new value.
We expect that Updated == true, then false after each subsequent check before assigning a new value.
Declaration
[Test]
public void Test_03_02_FloatChangedAndUpdated()
Test_03_03_FloatNoChangeAndUpdated()
We test by setting the interaction data to the same object multiple times.
We expect that Changed == false.
We expect that Updated == true.
Declaration
[Test]
public void Test_03_03_FloatNoChangeAndUpdated()
Test_04_01_InitializedVector2()
We test by initializing a new MixedRealityInteractionMapping. We expect that Changed == false.
We expect that Updated == false.
Declaration
[Test]
public void Test_04_01_InitializedVector2()
Test_04_02_Vector2ChangedAndUpdated()
We test by setting the interaction data to two different values.
We expect that Changed == true, then false after each subsequent check before assigning a new value.
We expect that Updated == true, then false after each subsequent check before assigning a new value.
Declaration
[Test]
public void Test_04_02_Vector2ChangedAndUpdated()
Test_04_03_Vector2NoChangeAndUpdated()
We test by setting the interaction data to the same object multiple times.
We expect that Changed == false.
We expect that Updated == true.
Declaration
[Test]
public void Test_04_03_Vector2NoChangeAndUpdated()
Test_05_01_InitializedVector3()
We test by setting the interaction data to two different values.
We expect that Changed == true, then false after each subsequent check before assigning a new value.
We expect that Updated == true, then false after each subsequent check before assigning a new value.
Declaration
[Test]
public void Test_05_01_InitializedVector3()
Test_05_02_Vector3ChangedAndUpdated()
We test by setting the interaction data to the same object multiple times.
We expect that Changed == false.
We expect that Updated == true.
Declaration
[Test]
public void Test_05_02_Vector3ChangedAndUpdated()
Test_05_03_Vector3NoChangeAndUpdated()
We test by initializing a new MixedRealityInteractionMapping. We expect that Changed == false.
We expect that Updated == false.
Declaration
[Test]
public void Test_05_03_Vector3NoChangeAndUpdated()
Test_06_01_InitializeQuaternion()
We test by setting the interaction data to two different values.
We expect that Changed == true, then false after each subsequent check before assigning a new value.
We expect that Updated == true, then false after each subsequent check before assigning a new value.
Declaration
[Test]
public void Test_06_01_InitializeQuaternion()
Test_06_02_QuaternionChangedAndUpdated()
We test by setting the interaction data to the same object multiple times.
We expect that Changed == false.
We expect that Updated == true.
Declaration
[Test]
public void Test_06_02_QuaternionChangedAndUpdated()
Test_06_03_QuaternionNoChangeAndUpdated()
We test by initializing a new MixedRealityInteractionMapping. We expect that Changed == false.
We expect that Updated == false.
Declaration
[Test]
public void Test_06_03_QuaternionNoChangeAndUpdated()
Test_07_01_InitializePoseData()
We test by setting the interaction data to two different values.
We expect that Changed == true, then false after each subsequent check before assigning a new value.
We expect that Updated == true, then false after each subsequent check before assigning a new value.
Declaration
[Test]
public void Test_07_01_InitializePoseData()
Test_07_02_MixedRealityPoseChangedAndUpdated()
We test by setting the interaction data to the same object multiple times.
We expect that Changed == false.
We expect that Updated == true.
Declaration
[Test]
public void Test_07_02_MixedRealityPoseChangedAndUpdated()
Test_07_03_MixedRealityPoseNoChangeAndUpdated()
We test by initializing a new MixedRealityInteractionMapping. We expect that Changed == false.
We expect that Updated == false.
Declaration
[Test]
public void Test_07_03_MixedRealityPoseNoChangeAndUpdated()
Test_08_01_InteractionArrayObject()
Declaration
[Test]
public void Test_08_01_InteractionArrayObject()
Test_08_02_InteractionArrayBool()
Declaration
[Test]
public void Test_08_02_InteractionArrayBool()
Test_08_03_InteractionArrayFloat()
Declaration
[Test]
public void Test_08_03_InteractionArrayFloat()
Test_08_04_InteractionArrayVector2()
Declaration
[Test]
public void Test_08_04_InteractionArrayVector2()
Test_08_05_InteractionArrayVector3()
Declaration
[Test]
public void Test_08_05_InteractionArrayVector3()
Test_08_06_InteractionArrayQuaternion()
Declaration
[Test]
public void Test_08_06_InteractionArrayQuaternion()
Test_08_07_InteractionArrayMixedRealityPose()
Declaration
[Test]
public void Test_08_07_InteractionArrayMixedRealityPose()


{% extends "layout.html" %} {% block content %}
Fill in the following information:
Shop name:
Shop phone number:
Shop address:
Script start date and time:
Script end date and time:
Number of desired orders in this time range:
Maximum items per order:
Define the normal delivery charge:
GPS Coordinate of the desired delivery area (at least 3). This website can be used to determine the area.
Select a seed number (with a given seed, same parameters produce the same outputs):
Send