Property Definitions (bpy.props)¶
This module defines properties to extend Blender’s internal data. The result of these functions is used to assign properties to classes registered with Blender and can’t be used directly.
Note
All parameters to these functions must be passed as keywords.
Assigning to Existing Classes¶
Custom properties can be added to any subclass of an ID
,
Bone
and PoseBone
.
These properties can be animated, accessed by the user interface and python like Blender’s existing properties.
import bpy
# Assign a custom property to an existing type.
bpy.types.Material.custom_float = bpy.props.FloatProperty(name="Test Property")
# Test the property is there.
bpy.data.materials[0].custom_float = 5.0
Operator Example¶
A common use of custom properties is for python based Operator
classes. Test this code by running it in the text editor, or by clicking the
button in the 3D Viewport’s Tools panel. The latter will show the properties
in the Redo panel and allow you to change them.
import bpy
class OBJECT_OT_property_example(bpy.types.Operator):
bl_idname = "object.property_example"
bl_label = "Property Example"
bl_options = {'REGISTER', 'UNDO'}
my_float: bpy.props.FloatProperty(name="Some Floating Point")
my_bool: bpy.props.BoolProperty(name="Toggle Option")
my_string: bpy.props.StringProperty(name="String Value")
def execute(self, context):
self.report(
{'INFO'}, 'F: %.2f B: %s S: %r' %
(self.my_float, self.my_bool, self.my_string)
)
print('My float:', self.my_float)
print('My bool:', self.my_bool)
print('My string:', self.my_string)
return {'FINISHED'}
class OBJECT_PT_property_example(bpy.types.Panel):
bl_idname = "object_PT_property_example"
bl_label = "Property Example"
bl_space_type = 'VIEW_3D'
bl_region_type = 'UI'
bl_category = "Tool"
def draw(self, context):
# You can set the property values that should be used when the user
# presses the button in the UI.
props = self.layout.operator('object.property_example')
props.my_bool = True
props.my_string = "Shouldn't that be 47?"
# You can set properties dynamically:
if context.object:
props.my_float = context.object.location.x
else:
props.my_float = 327
bpy.utils.register_class(OBJECT_OT_property_example)
bpy.utils.register_class(OBJECT_PT_property_example)
# Demo call. Be sure to also test in the 3D Viewport.
bpy.ops.object.property_example(
my_float=47,
my_bool=True,
my_string="Shouldn't that be 327?",
)
PropertyGroup Example¶
PropertyGroups can be used for collecting custom settings into one value to avoid many individual settings mixed in together.
import bpy
class MaterialSettings(bpy.types.PropertyGroup):
my_int: bpy.props.IntProperty()
my_float: bpy.props.FloatProperty()
my_string: bpy.props.StringProperty()
bpy.utils.register_class(MaterialSettings)
bpy.types.Material.my_settings = bpy.props.PointerProperty(type=MaterialSettings)
# test the new settings work
material = bpy.data.materials[0]
material.my_settings.my_int = 5
material.my_settings.my_float = 3.0
material.my_settings.my_string = "Foo"
Collection Example¶
Custom properties can be added to any subclass of an ID
,
Bone
and PoseBone
.
import bpy
# Assign a collection.
class SceneSettingItem(bpy.types.PropertyGroup):
name: bpy.props.StringProperty(name="Test Property", default="Unknown")
value: bpy.props.IntProperty(name="Test Property", default=22)
bpy.utils.register_class(SceneSettingItem)
bpy.types.Scene.my_settings = bpy.props.CollectionProperty(type=SceneSettingItem)
# Assume an armature object selected.
print("Adding 2 values!")
my_item = bpy.context.scene.my_settings.add()
my_item.name = "Spam"
my_item.value = 1000
my_item = bpy.context.scene.my_settings.add()
my_item.name = "Eggs"
my_item.value = 30
for my_item in bpy.context.scene.my_settings:
print(my_item.name, my_item.value)
Update Example¶
It can be useful to perform an action when a property is changed and can be used to update other properties or synchronize with external data.
All properties define update functions except for CollectionProperty.
import bpy
def update_func(self, context):
print("my test function", self)
bpy.types.Scene.testprop = bpy.props.FloatProperty(update=update_func)
bpy.context.scene.testprop = 11.0
# >>> my test function <bpy_struct, Scene("Scene")>
Getter/Setter Example¶
Getter/setter functions can be used for boolean, int, float, string and enum properties. If these callbacks are defined the property will not be stored in the ID properties automatically. Instead, the get and set functions will be called when the property is respectively read or written from the API.
import bpy
# Simple property reading/writing from ID properties.
# This is what the RNA would do internally.
def get_float(self):
return self["testprop"]
def set_float(self, value):
self["testprop"] = value
bpy.types.Scene.test_float = bpy.props.FloatProperty(get=get_float, set=set_float)
# Read-only string property, returns the current date
def get_date(self):
import datetime
return str(datetime.datetime.now())
bpy.types.Scene.test_date = bpy.props.StringProperty(get=get_date)
# Boolean array. Set function stores a single boolean value, returned as the second component.
# Array getters must return a list or tuple
# Array size must match the property vector size exactly
def get_array(self):
return (True, self["somebool"])
def set_array(self, values):
self["somebool"] = values[0] and values[1]
bpy.types.Scene.test_array = bpy.props.BoolVectorProperty(size=2, get=get_array, set=set_array)
# Enum property.
# Note: the getter/setter callback must use integer identifiers!
test_items = [
("RED", "Red", "", 1),
("GREEN", "Green", "", 2),
("BLUE", "Blue", "", 3),
("YELLOW", "Yellow", "", 4),
]
def get_enum(self):
import random
return random.randint(1, 4)
def set_enum(self, value):
print("setting value", value)
bpy.types.Scene.test_enum = bpy.props.EnumProperty(items=test_items, get=get_enum, set=set_enum)
# Testing the properties:
scene = bpy.context.scene
scene.test_float = 12.34
print('test_float:', scene.test_float)
scene.test_array = (True, False)
print('test_array:', tuple(scene.test_array))
# scene.test_date = "blah" # this would fail, property is read-only
print('test_date:', scene.test_date)
scene.test_enum = 'BLUE'
print('test_enum:', scene.test_enum)
# The above outputs:
# test_float: 12.34000015258789
# test_array: (True, False)
# test_date: 2018-03-14 11:36:53.158653
# setting value 3
# test_enum: GREEN
-
bpy.props.
BoolProperty
(name="", description="", default=False, options={'ANIMATABLE'}, tags={}, subtype='NONE', update=None, get=None, set=None)¶ Returns a new boolean property definition.
Parameters: - name (string) – Name used in the user interface.
- description (string) – Text used for the tooltip and api documentation.
- options (set) – Enumerator in [‘HIDDEN’, ‘SKIP_SAVE’, ‘ANIMATABLE’, ‘LIBRARY_EDITABLE’, ‘PROPORTIONAL’,’TEXTEDIT_UPDATE’].
- tags (set) – Enumerator of tags that are defined by parent class.
- subtype (string) – Enumerator in [‘PIXEL’, ‘UNSIGNED’, ‘PERCENTAGE’, ‘FACTOR’, ‘ANGLE’, ‘TIME’, ‘DISTANCE’, ‘NONE’].
- update (function) – Function to be called when this value is modified, This function must take 2 values (self, context) and return None. Warning there are no safety checks to avoid infinite recursion.
- get (function) – Function to be called when this value is ‘read’, This function must take 1 value (self) and return the value of the property.
- set (function) – Function to be called when this value is ‘written’, This function must take 2 values (self, value) and return None.
-
bpy.props.
BoolVectorProperty
(name="", description="", default=(False, False, False), options={'ANIMATABLE'}, tags={}, subtype='NONE', size=3, update=None, get=None, set=None)¶ Returns a new vector boolean property definition.
Parameters: - name (string) – Name used in the user interface.
- description (string) – Text used for the tooltip and api documentation.
- default (sequence) – sequence of booleans the length of size.
- options (set) – Enumerator in [‘HIDDEN’, ‘SKIP_SAVE’, ‘ANIMATABLE’, ‘LIBRARY_EDITABLE’, ‘PROPORTIONAL’,’TEXTEDIT_UPDATE’].
- tags (set) – Enumerator of tags that are defined by parent class.
- subtype (string) – Enumerator in [‘COLOR’, ‘TRANSLATION’, ‘DIRECTION’, ‘VELOCITY’, ‘ACCELERATION’, ‘MATRIX’, ‘EULER’, ‘QUATERNION’, ‘AXISANGLE’, ‘XYZ’, ‘COLOR_GAMMA’, ‘LAYER’, ‘LAYER_MEMBER’, ‘POWER’, ‘NONE’].
- size (int) – Vector dimensions in [1, 32].
- update (function) – Function to be called when this value is modified, This function must take 2 values (self, context) and return None. Warning there are no safety checks to avoid infinite recursion.
- get (function) – Function to be called when this value is ‘read’, This function must take 1 value (self) and return the value of the property.
- set (function) – Function to be called when this value is ‘written’, This function must take 2 values (self, value) and return None.
-
bpy.props.
CollectionProperty
(type=None, name="", description="", options={'ANIMATABLE'}, tags={})¶ Returns a new collection property definition.
Parameters: - type (class) – A subclass of
bpy.types.PropertyGroup
orbpy.types.ID
. - name (string) – Name used in the user interface.
- description (string) – Text used for the tooltip and api documentation.
- options (set) – Enumerator in [‘HIDDEN’, ‘SKIP_SAVE’, ‘ANIMATABLE’, ‘LIBRARY_EDITABLE’, ‘PROPORTIONAL’,’TEXTEDIT_UPDATE’].
- tags (set) – Enumerator of tags that are defined by parent class.
- type (class) – A subclass of
-
bpy.props.
EnumProperty
(items, name="", description="", default=None, options={'ANIMATABLE'}, tags={}, update=None, get=None, set=None)¶ Returns a new enumerator property definition.
Parameters: - items (sequence of string tuples or a function) –
sequence of enum items formatted:
[(identifier, name, description, icon, number), ...]
.The first three elements of the tuples are mandatory.
identifier: The identifier is used for Python access. name: Name for the interface. description: Used for documentation and tooltips. icon: An icon string identifier or integer icon value (e.g. returned by bpy.types.UILayout.icon
)number: Unique value used as the identifier for this item (stored in file data). Use when the identifier may need to change. If the ENUM_FLAG option is used, the values are bitmasks and should be powers of two. When an item only contains 4 items they define
(identifier, name, description, number)
.Separators may be added using None instead of a tuple. For dynamic values a callback can be passed which returns a list in the same format as the static list. This function must take 2 arguments
(self, context)
, context may be None.Warning
There is a known bug with using a callback, Python must keep a reference to the strings returned by the callback or Blender will misbehave or even crash.
- name (string) – Name used in the user interface.
- description (string) – Text used for the tooltip and api documentation.
- default (string or set) – The default value for this enum, a string from the identifiers used in items. If the ENUM_FLAG option is used this must be a set of such string identifiers instead. WARNING: It shall not be specified (or specified to its default None value) for dynamic enums (i.e. if a callback function is given as items parameter).
- options (set) – Enumerator in [‘HIDDEN’, ‘SKIP_SAVE’, ‘ANIMATABLE’, ‘ENUM_FLAG’, ‘LIBRARY_EDITABLE’].
- tags (set) – Enumerator of tags that are defined by parent class.
- update (function) – Function to be called when this value is modified, This function must take 2 values (self, context) and return None. Warning there are no safety checks to avoid infinite recursion.
- get (function) – Function to be called when this value is ‘read’, This function must take 1 value (self) and return the value of the property.
- set (function) – Function to be called when this value is ‘written’, This function must take 2 values (self, value) and return None.
- items (sequence of string tuples or a function) –
-
bpy.props.
FloatProperty
(name="", description="", default=0.0, min=-3.402823e+38, max=3.402823e+38, soft_min=-3.402823e+38, soft_max=3.402823e+38, step=3, precision=2, options={'ANIMATABLE'}, tags={}, subtype='NONE', unit='NONE', update=None, get=None, set=None)¶ Returns a new float (single precision) property definition.
Parameters: - name (string) – Name used in the user interface.
- description (string) – Text used for the tooltip and api documentation.
- min (float) – Hard minimum, trying to assign a value below will silently assign this minimum instead.
- max (float) – Hard maximum, trying to assign a value above will silently assign this maximum instead.
- soft_min (float) – Soft minimum (>= min), user won’t be able to drag the widget below this value in the UI.
- soft_max (float) – Soft maximum (<= max), user won’t be able to drag the widget above this value in the UI.
- step (int) – Step of increment/decrement in UI, in [1, 100], defaults to 3 (WARNING: actual value is /100).
- precision (int) – Maximum number of decimal digits to display, in [0, 6].
- options (set) – Enumerator in [‘HIDDEN’, ‘SKIP_SAVE’, ‘ANIMATABLE’, ‘LIBRARY_EDITABLE’, ‘PROPORTIONAL’,’TEXTEDIT_UPDATE’].
- tags (set) – Enumerator of tags that are defined by parent class.
- subtype (string) – Enumerator in [‘PIXEL’, ‘UNSIGNED’, ‘PERCENTAGE’, ‘FACTOR’, ‘ANGLE’, ‘TIME’, ‘DISTANCE’, ‘NONE’].
- unit (string) – Enumerator in [‘NONE’, ‘LENGTH’, ‘AREA’, ‘VOLUME’, ‘ROTATION’, ‘TIME’, ‘VELOCITY’, ‘ACCELERATION’, ‘MASS’, ‘CAMERA’, ‘POWER’].
- update (function) – Function to be called when this value is modified, This function must take 2 values (self, context) and return None. Warning there are no safety checks to avoid infinite recursion.
- get (function) – Function to be called when this value is ‘read’, This function must take 1 value (self) and return the value of the property.
- set (function) – Function to be called when this value is ‘written’, This function must take 2 values (self, value) and return None.
-
bpy.props.
FloatVectorProperty
(name="", description="", default=(0.0, 0.0, 0.0), min=sys.float_info.min, max=sys.float_info.max, soft_min=sys.float_info.min, soft_max=sys.float_info.max, step=3, precision=2, options={'ANIMATABLE'}, tags={}, subtype='NONE', unit='NONE', size=3, update=None, get=None, set=None)¶ Returns a new vector float property definition.
Parameters: - name (string) – Name used in the user interface.
- description (string) – Text used for the tooltip and api documentation.
- default (sequence) – sequence of floats the length of size.
- min (float) – Hard minimum, trying to assign a value below will silently assign this minimum instead.
- max (float) – Hard maximum, trying to assign a value above will silently assign this maximum instead.
- soft_min (float) – Soft minimum (>= min), user won’t be able to drag the widget below this value in the UI.
- soft_max (float) – Soft maximum (<= max), user won’t be able to drag the widget above this value in the UI.
- options (set) – Enumerator in [‘HIDDEN’, ‘SKIP_SAVE’, ‘ANIMATABLE’, ‘LIBRARY_EDITABLE’, ‘PROPORTIONAL’,’TEXTEDIT_UPDATE’].
- tags (set) – Enumerator of tags that are defined by parent class.
- step (int) – Step of increment/decrement in UI, in [1, 100], defaults to 3 (WARNING: actual value is /100).
- precision (int) – Maximum number of decimal digits to display, in [0, 6].
- subtype (string) – Enumerator in [‘COLOR’, ‘TRANSLATION’, ‘DIRECTION’, ‘VELOCITY’, ‘ACCELERATION’, ‘MATRIX’, ‘EULER’, ‘QUATERNION’, ‘AXISANGLE’, ‘XYZ’, ‘COLOR_GAMMA’, ‘LAYER’, ‘LAYER_MEMBER’, ‘POWER’, ‘NONE’].
- unit (string) – Enumerator in [‘NONE’, ‘LENGTH’, ‘AREA’, ‘VOLUME’, ‘ROTATION’, ‘TIME’, ‘VELOCITY’, ‘ACCELERATION’, ‘MASS’, ‘CAMERA’, ‘POWER’].
- size (int) – Vector dimensions in [1, 32].
- update (function) – Function to be called when this value is modified, This function must take 2 values (self, context) and return None. Warning there are no safety checks to avoid infinite recursion.
- get (function) – Function to be called when this value is ‘read’, This function must take 1 value (self) and return the value of the property.
- set (function) – Function to be called when this value is ‘written’, This function must take 2 values (self, value) and return None.
-
bpy.props.
IntProperty
(name="", description="", default=0, min=-2**31, max=2**31-1, soft_min=-2**31, soft_max=2**31-1, step=1, options={'ANIMATABLE'}, tags={}, subtype='NONE', update=None, get=None, set=None)¶ Returns a new int property definition.
Parameters: - name (string) – Name used in the user interface.
- description (string) – Text used for the tooltip and api documentation.
- min (int) – Hard minimum, trying to assign a value below will silently assign this minimum instead.
- max (int) – Hard maximum, trying to assign a value above will silently assign this maximum instead.
- soft_max (int) – Soft maximum (<= max), user won’t be able to drag the widget above this value in the UI.
- soft_min (int) – Soft minimum (>= min), user won’t be able to drag the widget below this value in the UI.
- step (int) – Step of increment/decrement in UI, in [1, 100], defaults to 1 (WARNING: unused currently!).
- options (set) – Enumerator in [‘HIDDEN’, ‘SKIP_SAVE’, ‘ANIMATABLE’, ‘LIBRARY_EDITABLE’, ‘PROPORTIONAL’,’TEXTEDIT_UPDATE’].
- tags (set) – Enumerator of tags that are defined by parent class.
- subtype (string) – Enumerator in [‘PIXEL’, ‘UNSIGNED’, ‘PERCENTAGE’, ‘FACTOR’, ‘ANGLE’, ‘TIME’, ‘DISTANCE’, ‘NONE’].
- update (function) – Function to be called when this value is modified, This function must take 2 values (self, context) and return None. Warning there are no safety checks to avoid infinite recursion.
- get (function) – Function to be called when this value is ‘read’, This function must take 1 value (self) and return the value of the property.
- set (function) – Function to be called when this value is ‘written’, This function must take 2 values (self, value) and return None.
-
bpy.props.
IntVectorProperty
(name="", description="", default=(0, 0, 0), min=-2**31, max=2**31-1, soft_min=-2**31, soft_max=2**31-1, step=1, options={'ANIMATABLE'}, tags={}, subtype='NONE', size=3, update=None, get=None, set=None)¶ Returns a new vector int property definition.
Parameters: - name (string) – Name used in the user interface.
- description (string) – Text used for the tooltip and api documentation.
- default (sequence) – sequence of ints the length of size.
- min (int) – Hard minimum, trying to assign a value below will silently assign this minimum instead.
- max (int) – Hard maximum, trying to assign a value above will silently assign this maximum instead.
- soft_min (int) – Soft minimum (>= min), user won’t be able to drag the widget below this value in the UI.
- soft_max (int) – Soft maximum (<= max), user won’t be able to drag the widget above this value in the UI.
- step (int) – Step of increment/decrement in UI, in [1, 100], defaults to 1 (WARNING: unused currently!).
- options (set) – Enumerator in [‘HIDDEN’, ‘SKIP_SAVE’, ‘ANIMATABLE’, ‘LIBRARY_EDITABLE’, ‘PROPORTIONAL’,’TEXTEDIT_UPDATE’].
- tags (set) – Enumerator of tags that are defined by parent class.
- subtype (string) – Enumerator in [‘COLOR’, ‘TRANSLATION’, ‘DIRECTION’, ‘VELOCITY’, ‘ACCELERATION’, ‘MATRIX’, ‘EULER’, ‘QUATERNION’, ‘AXISANGLE’, ‘XYZ’, ‘COLOR_GAMMA’, ‘LAYER’, ‘LAYER_MEMBER’, ‘POWER’, ‘NONE’].
- size (int) – Vector dimensions in [1, 32].
- update (function) – Function to be called when this value is modified, This function must take 2 values (self, context) and return None. Warning there are no safety checks to avoid infinite recursion.
- get (function) – Function to be called when this value is ‘read’, This function must take 1 value (self) and return the value of the property.
- set (function) – Function to be called when this value is ‘written’, This function must take 2 values (self, value) and return None.
-
bpy.props.
PointerProperty
(type=None, name="", description="", options={'ANIMATABLE'}, tags={}, poll=None, update=None)¶ Returns a new pointer property definition.
Parameters: - type (class) – A subclass of
bpy.types.PropertyGroup
orbpy.types.ID
. - name (string) – Name used in the user interface.
- description (string) – Text used for the tooltip and api documentation.
- options (set) – Enumerator in [‘HIDDEN’, ‘SKIP_SAVE’, ‘ANIMATABLE’, ‘LIBRARY_EDITABLE’, ‘PROPORTIONAL’,’TEXTEDIT_UPDATE’].
- tags (set) – Enumerator of tags that are defined by parent class.
- poll (function) – function to be called to determine whether an item is valid for this property. The function must take 2 values (self, object) and return Bool.
- update (function) – Function to be called when this value is modified, This function must take 2 values (self, context) and return None. Warning there are no safety checks to avoid infinite recursion.
- type (class) – A subclass of
-
bpy.props.
RemoveProperty
(cls, attr)¶ Removes a dynamically defined property.
Parameters: - cls (type) – The class containing the property (must be a positional argument).
- attr (string) – Property name (must be passed as a keyword).
Note
Typically this function doesn’t need to be accessed directly.
Instead use del cls.attr
-
bpy.props.
StringProperty
(name="", description="", default="", maxlen=0, options={'ANIMATABLE'}, tags={}, subtype='NONE', update=None, get=None, set=None)¶ Returns a new string property definition.
Parameters: - name (string) – Name used in the user interface.
- description (string) – Text used for the tooltip and api documentation.
- default (string) – initializer string.
- maxlen (int) – maximum length of the string.
- options (set) – Enumerator in [‘HIDDEN’, ‘SKIP_SAVE’, ‘ANIMATABLE’, ‘LIBRARY_EDITABLE’, ‘PROPORTIONAL’,’TEXTEDIT_UPDATE’].
- tags (set) – Enumerator of tags that are defined by parent class.
- subtype (string) – Enumerator in [‘FILE_PATH’, ‘DIR_PATH’, ‘FILE_NAME’, ‘BYTE_STRING’, ‘PASSWORD’, ‘NONE’].
- update (function) – Function to be called when this value is modified, This function must take 2 values (self, context) and return None. Warning there are no safety checks to avoid infinite recursion.
- get (function) – Function to be called when this value is ‘read’, This function must take 1 value (self) and return the value of the property.
- set (function) – Function to be called when this value is ‘written’, This function must take 2 values (self, value) and return None.


Jamir Holmes
College that I attend.
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
HTML
XML
XHTML


HipLearn is designed for you, with the sole purpose of making your student life a little bit easier. As students ourselves, we often experience that we use a lot of time each day just to figure what to read, where to start, and how to get the best control of the curriculum. Sometimes you have read some pages here, and a chapter there, which makes you lose control of where in the book you should read this time. Our goal is to help you reach you goals with HipLearn. HipLearn makes your learning process a little easier.
HipLearn is an application designed to give you full control of exactly how much of your curriculum you have been through, so that you always know how to use your own time best possible. HipLearn gives you the opportunity to register your subjects, and then fetches the chapters in your book. When you have read a chapter or a subchapter of a book in a subject, you cross it of the list so that next time, you remember how far you got.
We are a team of engaged students of technology. From left: Ingeborg Lianes, Håkon Ringdal and Janne Nesse. As students, we know the challenges students usually encounter, and we try to use our technical competence to solve those problems. Many students have a lot to do, and it can be hard to keep track of everything during a hectic semester. We cannot solve everything for you, but we can make it easier for you to keep track of your studies.
-Ragnhild Frøhaug, m.sc industrial engineering with data technology, NTNU
- Øyvor Haldorsen, m.sc industrial engineering with data technology, NTNU


The task pane is a generic widget that allows developers to insert custom functionality into an application without having to create a full widget. Functionality is added by creating InvokeURL widgets and adding them to the TaskPane widget. The InvokeURL widget loads your custom script into the page for the user, and provides access to the current server-side session, map name and other critical runtime information.


Welcome to the Mobile Attendence app. By clicking Mobile Login you can record your remote login using the GPS feature on your phone.


Welcome to the first sample for Full Meta Jacket
This first sample contains a single index.imd file. It's written in imd format which is basically Markdown but with extra header information. We also have a layout template called default.html
and a set of site specific variables in a file called _vars
So the 3 relevent files in this example are:
- index.imd
- _layouts/default.html
- _vars
index.imd
index.imd's header contains a single key-value pair which specifies the template to use:
"layout": "default"
(The header information always appears at the top of a file it begins and ends with three hyphens and the data itself is in JSON format)
You can view this template in _layouts/default.html
The rest of the file is just regular Markdown format
NOTE: Any files or directories beginning with an underscore are assumed to be for Full Meta Jacket and won't be copied over when generating the final static site.
_layouts/default.html
default.html is the template file, it contains an empty header (although you can nest layouts, this will be shown in a later example).
The rest of the file is normal html with a couple of marked up sections such as:
<title>{{= title }}</title>
and
<section id="main_content" class="inner">
{{= content }}
</section>
content
is a special variable and is used to indicate where in the template the main content will be inserted. In this example the content is going to be index.imd
after it's been converted from Markdown to HTML.
All other variables are defined either in the headers of imd files or in _vars
files. (So file specific variables go inside that file's header and directory specific variables go into a _vars
file within that directory)
_vars
Full Meta Jacket looks for a file called _vars
in all of the directories it processess. It's assumed that each _vars
file consists of nothing but header information. The set of variables contained within a _vars
files is then merged into any files within that directory. (And for nested directories we can recursively merge together all the _vars
files in the parent directories)
In this example, we have a top level _vars
file and it contains site specific variables.
The End
There you have it, a simple example for Full Meta Jacket consisting of 3 files.
Theme
The theme on this page is Slate by Jason Costello and was stolen from http://matthewmccullough.github.com/git-workshop/ (via the Github blog post: instantly beautiful project pages)


导航切换
admin-panel
FullScreen
Not Login
Management
Ticket Reserve
Order List
Consign List
Advanced Search
Execute Flow
Ticket Collect
Enter Station
Upload Avatar
Drop files to upload
or
Drop files anywhere to upload
Upload Avatar
Cancel
Save


Stability: 3 - Stable
Pure JavaScript is Unicode friendly but not nice to binary data. When dealing with TCP streams or the file system, it's necessary to handle octet streams. Node has several strategies for manipulating, creating, and consuming octet streams.
Raw data is stored in instances of the Buffer
class. A Buffer
is similar
to an array of integers but corresponds to a raw memory allocation outside
the V8 heap. A Buffer
cannot be resized.
The Buffer
class is a global, making it very rare that one would need
to ever require('buffer')
.
Converting between Buffers and JavaScript string objects requires an explicit encoding method. Here are the different string encodings.
'ascii'
- for 7 bit ASCII data only. This encoding method is very fast, and
will strip the high bit if set.
'utf8'
- Multibyte encoded Unicode characters. Many web pages and other
document formats use UTF-8.
'utf16le'
- 2 or 4 bytes, little endian encoded Unicode characters.
Surrogate pairs (U+10000 to U+10FFFF) are supported.
'ucs2'
- Alias of 'utf16le'
.
'base64'
- Base64 string encoding.
'binary'
- A way of encoding raw binary data into strings by using only
the first 8 bits of each character. This encoding method is deprecated and
should be avoided in favor of Buffer
objects where possible. This encoding
will be removed in future versions of Node.
'hex'
- Encode each byte as two hexadecimal characters.
The Buffer class is a global type for dealing with binary data directly. It can be constructed in a variety of ways.
size
NumberAllocates a new buffer of size
octets.
array
ArrayAllocates a new buffer using an array
of octets.
str
String - string to encode.encoding
String - encoding to use, Optional.Allocates a new buffer containing the given str
.
encoding
defaults to 'utf8'
.
encoding
{String} The encoding string to testReturns true if the encoding
is a valid encoding argument, or false
otherwise.
obj
ObjectTests if obj
is a Buffer
.
string
Stringencoding
String, Optional, Default: 'utf8'Gives the actual byte length of a string. encoding
defaults to 'utf8'
.
This is not the same as String.prototype.length
since that returns the
number of characters in a string.
Example:
str = '\u00bd + \u00bc = \u00be';
console.log(str + ": " + str.length + " characters, " +
Buffer.byteLength(str, 'utf8') + " bytes");
// ½ + ¼ = ¾: 9 characters, 12 bytes
list
{Array} List of Buffer objects to concattotalLength
{Number} Total length of the buffers when concatenatedReturns a buffer which is the result of concatenating all the buffers in the list together.
If the list has no items, or if the totalLength is 0, then it returns a zero-length buffer.
If the list has exactly one item, then the first item of the list is returned.
If the list has more than one item, then a new Buffer is created.
If totalLength is not provided, it is read from the buffers in the list. However, this adds an additional loop to the function, so it is faster to provide the length explicitly.
The size of the buffer in bytes. Note that this is not necessarily the size
of the contents. length
refers to the amount of memory allocated for the
buffer object. It does not change when the contents of the buffer are changed.
buf = new Buffer(1234);
console.log(buf.length);
buf.write("some string", 0, "ascii");
console.log(buf.length);
// 1234
// 1234
string
String - data to be written to bufferoffset
Number, Optional, Default: 0length
Number, Optional, Default: buffer.length - offset
encoding
String, Optional, Default: 'utf8'Writes string
to the buffer at offset
using the given encoding.
offset
defaults to 0
, encoding
defaults to 'utf8'
. length
is
the number of bytes to write. Returns number of octets written. If buffer
did
not contain enough space to fit the entire string, it will write a partial
amount of the string. length
defaults to buffer.length - offset
.
The method will not write partial characters.
buf = new Buffer(256);
len = buf.write('\u00bd + \u00bc = \u00be', 0);
console.log(len + " bytes: " + buf.toString('utf8', 0, len));
encoding
String, Optional, Default: 'utf8'start
Number, Optional, Default: 0end
Number, Optional, Default: buffer.length
Decodes and returns a string from buffer data encoded with encoding
(defaults to 'utf8'
) beginning at start
(defaults to 0
) and ending at
end
(defaults to buffer.length
).
See buffer.write()
example, above.
Returns a JSON-representation of the Buffer instance. JSON.stringify
implicitly calls this function when stringifying a Buffer instance.
Example:
var buf = new Buffer('test');
var json = JSON.stringify(buf);
console.log(json);
// '{"type":"Buffer","data":[116,101,115,116]}'
var copy = JSON.parse(json, function(key, value) {
return value && value.type === 'Buffer'
? new Buffer(value.data)
: value;
});
console.log(copy);
// <Buffer 74 65 73 74>
Get and set the octet at index
. The values refer to individual bytes,
so the legal range is between 0x00
and 0xFF
hex or 0
and 255
.
Example: copy an ASCII string into a buffer, one byte at a time:
str = "node.js";
buf = new Buffer(str.length);
for (var i = 0; i < str.length ; i++) {
buf[i] = str.charCodeAt(i);
}
console.log(buf);
// node.js
targetBuffer
Buffer object - Buffer to copy intotargetStart
Number, Optional, Default: 0sourceStart
Number, Optional, Default: 0sourceEnd
Number, Optional, Default: buffer.length
Does copy between buffers. The source and target regions can be overlapped.
targetStart
and sourceStart
default to 0
.
sourceEnd
defaults to buffer.length
.
All values passed that are undefined
/NaN
or are out of bounds are set equal
to their respective defaults.
Example: build two Buffers, then copy buf1
from byte 16 through byte 19
into buf2
, starting at the 8th byte in buf2
.
buf1 = new Buffer(26);
buf2 = new Buffer(26);
for (var i = 0 ; i < 26 ; i++) {
buf1[i] = i + 97; // 97 is ASCII a
buf2[i] = 33; // ASCII !
}
buf1.copy(buf2, 8, 16, 20);
console.log(buf2.toString('ascii', 0, 25));
// !!!!!!!!qrst!!!!!!!!!!!!!
start
Number, Optional, Default: 0end
Number, Optional, Default: buffer.length
Returns a new buffer which references the same memory as the old, but offset
and cropped by the start
(defaults to 0
) and end
(defaults to
buffer.length
) indexes. Negative indexes start from the end of the buffer.
Modifying the new buffer slice will modify memory in the original buffer!
Example: build a Buffer with the ASCII alphabet, take a slice, then modify one byte from the original Buffer.
var buf1 = new Buffer(26);
for (var i = 0 ; i < 26 ; i++) {
buf1[i] = i + 97; // 97 is ASCII a
}
var buf2 = buf1.slice(0, 3);
console.log(buf2.toString('ascii', 0, buf2.length));
buf1[0] = 33;
console.log(buf2.toString('ascii', 0, buf2.length));
// abc
// !bc
offset
NumbernoAssert
Boolean, Optional, Default: falseReads an unsigned 8 bit integer from the buffer at the specified offset.
Set noAssert
to true to skip validation of offset
. This means that offset
may be beyond the end of the buffer. Defaults to false
.
Example:
var buf = new Buffer(4);
buf[0] = 0x3;
buf[1] = 0x4;
buf[2] = 0x23;
buf[3] = 0x42;
for (ii = 0; ii < buf.length; ii++) {
console.log(buf.readUInt8(ii));
}
// 0x3
// 0x4
// 0x23
// 0x42
offset
NumbernoAssert
Boolean, Optional, Default: falseReads an unsigned 16 bit integer from the buffer at the specified offset with specified endian format.
Set noAssert
to true to skip validation of offset
. This means that offset
may be beyond the end of the buffer. Defaults to false
.
Example:
var buf = new Buffer(4);
buf[0] = 0x3;
buf[1] = 0x4;
buf[2] = 0x23;
buf[3] = 0x42;
console.log(buf.readUInt16BE(0));
console.log(buf.readUInt16LE(0));
console.log(buf.readUInt16BE(1));
console.log(buf.readUInt16LE(1));
console.log(buf.readUInt16BE(2));
console.log(buf.readUInt16LE(2));
// 0x0304
// 0x0403
// 0x0423
// 0x2304
// 0x2342
// 0x4223
offset
NumbernoAssert
Boolean, Optional, Default: falseReads an unsigned 32 bit integer from the buffer at the specified offset with specified endian format.
Set noAssert
to true to skip validation of offset
. This means that offset
may be beyond the end of the buffer. Defaults to false
.
Example:
var buf = new Buffer(4);
buf[0] = 0x3;
buf[1] = 0x4;
buf[2] = 0x23;
buf[3] = 0x42;
console.log(buf.readUInt32BE(0));
console.log(buf.readUInt32LE(0));
// 0x03042342
// 0x42230403
offset
NumbernoAssert
Boolean, Optional, Default: falseReads a signed 8 bit integer from the buffer at the specified offset.
Set noAssert
to true to skip validation of offset
. This means that offset
may be beyond the end of the buffer. Defaults to false
.
Works as buffer.readUInt8
, except buffer contents are treated as two's
complement signed values.
offset
NumbernoAssert
Boolean, Optional, Default: falseReads a signed 16 bit integer from the buffer at the specified offset with specified endian format.
Set noAssert
to true to skip validation of offset
. This means that offset
may be beyond the end of the buffer. Defaults to false
.
Works as buffer.readUInt16*
, except buffer contents are treated as two's
complement signed values.
offset
NumbernoAssert
Boolean, Optional, Default: falseReads a signed 32 bit integer from the buffer at the specified offset with specified endian format.
Set noAssert
to true to skip validation of offset
. This means that offset
may be beyond the end of the buffer. Defaults to false
.
Works as buffer.readUInt32*
, except buffer contents are treated as two's
complement signed values.
offset
NumbernoAssert
Boolean, Optional, Default: falseReads a 32 bit float from the buffer at the specified offset with specified endian format.
Set noAssert
to true to skip validation of offset
. This means that offset
may be beyond the end of the buffer. Defaults to false
.
Example:
var buf = new Buffer(4);
buf[0] = 0x00;
buf[1] = 0x00;
buf[2] = 0x80;
buf[3] = 0x3f;
console.log(buf.readFloatLE(0));
// 0x01
offset
NumbernoAssert
Boolean, Optional, Default: falseReads a 64 bit double from the buffer at the specified offset with specified endian format.
Set noAssert
to true to skip validation of offset
. This means that offset
may be beyond the end of the buffer. Defaults to false
.
Example:
var buf = new Buffer(8);
buf[0] = 0x55;
buf[1] = 0x55;
buf[2] = 0x55;
buf[3] = 0x55;
buf[4] = 0x55;
buf[5] = 0x55;
buf[6] = 0xd5;
buf[7] = 0x3f;
console.log(buf.readDoubleLE(0));
// 0.3333333333333333
value
Numberoffset
NumbernoAssert
Boolean, Optional, Default: falseWrites value
to the buffer at the specified offset. Note, value
must be a
valid unsigned 8 bit integer.
Set noAssert
to true to skip validation of value
and offset
. This means
that value
may be too large for the specific function and offset
may be
beyond the end of the buffer leading to the values being silently dropped. This
should not be used unless you are certain of correctness. Defaults to false
.
Example:
var buf = new Buffer(4);
buf.writeUInt8(0x3, 0);
buf.writeUInt8(0x4, 1);
buf.writeUInt8(0x23, 2);
buf.writeUInt8(0x42, 3);
console.log(buf);
// <Buffer 03 04 23 42>
value
Numberoffset
NumbernoAssert
Boolean, Optional, Default: falseWrites value
to the buffer at the specified offset with specified endian
format. Note, value
must be a valid unsigned 16 bit integer.
Set noAssert
to true to skip validation of value
and offset
. This means
that value
may be too large for the specific function and offset
may be
beyond the end of the buffer leading to the values being silently dropped. This
should not be used unless you are certain of correctness. Defaults to false
.
Example:
var buf = new Buffer(4);
buf.writeUInt16BE(0xdead, 0);
buf.writeUInt16BE(0xbeef, 2);
console.log(buf);
buf.writeUInt16LE(0xdead, 0);
buf.writeUInt16LE(0xbeef, 2);
console.log(buf);
// <Buffer de ad be ef>
// <Buffer ad de ef be>
value
Numberoffset
NumbernoAssert
Boolean, Optional, Default: falseWrites value
to the buffer at the specified offset with specified endian
format. Note, value
must be a valid unsigned 32 bit integer.
Set noAssert
to true to skip validation of value
and offset
. This means
that value
may be too large for the specific function and offset
may be
beyond the end of the buffer leading to the values being silently dropped. This
should not be used unless you are certain of correctness. Defaults to false
.
Example:
var buf = new Buffer(4);
buf.writeUInt32BE(0xfeedface, 0);
console.log(buf);
buf.writeUInt32LE(0xfeedface, 0);
console.log(buf);
// <Buffer fe ed fa ce>
// <Buffer ce fa ed fe>
value
Numberoffset
NumbernoAssert
Boolean, Optional, Default: falseWrites value
to the buffer at the specified offset. Note, value
must be a
valid signed 8 bit integer.
Set noAssert
to true to skip validation of value
and offset
. This means
that value
may be too large for the specific function and offset
may be
beyond the end of the buffer leading to the values being silently dropped. This
should not be used unless you are certain of correctness. Defaults to false
.
Works as buffer.writeUInt8
, except value is written out as a two's complement
signed integer into buffer
.
value
Numberoffset
NumbernoAssert
Boolean, Optional, Default: falseWrites value
to the buffer at the specified offset with specified endian
format. Note, value
must be a valid signed 16 bit integer.
Set noAssert
to true to skip validation of value
and offset
. This means
that value
may be too large for the specific function and offset
may be
beyond the end of the buffer leading to the values being silently dropped. This
should not be used unless you are certain of correctness. Defaults to false
.
Works as buffer.writeUInt16*
, except value is written out as a two's
complement signed integer into buffer
.
value
Numberoffset
NumbernoAssert
Boolean, Optional, Default: falseWrites value
to the buffer at the specified offset with specified endian
format. Note, value
must be a valid signed 32 bit integer.
Set noAssert
to true to skip validation of value
and offset
. This means
that value
may be too large for the specific function and offset
may be
beyond the end of the buffer leading to the values being silently dropped. This
should not be used unless you are certain of correctness. Defaults to false
.
Works as buffer.writeUInt32*
, except value is written out as a two's
complement signed integer into buffer
.
value
Numberoffset
NumbernoAssert
Boolean, Optional, Default: falseWrites value
to the buffer at the specified offset with specified endian
format. Note, behavior is unspecified if value
is not a 32 bit float.
Set noAssert
to true to skip validation of value
and offset
. This means
that value
may be too large for the specific function and offset
may be
beyond the end of the buffer leading to the values being silently dropped. This
should not be used unless you are certain of correctness. Defaults to false
.
Example:
var buf = new Buffer(4);
buf.writeFloatBE(0xcafebabe, 0);
console.log(buf);
buf.writeFloatLE(0xcafebabe, 0);
console.log(buf);
// <Buffer 4f 4a fe bb>
// <Buffer bb fe 4a 4f>
value
Numberoffset
NumbernoAssert
Boolean, Optional, Default: falseWrites value
to the buffer at the specified offset with specified endian
format. Note, value
must be a valid 64 bit double.
Set noAssert
to true to skip validation of value
and offset
. This means
that value
may be too large for the specific function and offset
may be
beyond the end of the buffer leading to the values being silently dropped. This
should not be used unless you are certain of correctness. Defaults to false
.
Example:
var buf = new Buffer(8);
buf.writeDoubleBE(0xdeadbeefcafebabe, 0);
console.log(buf);
buf.writeDoubleLE(0xdeadbeefcafebabe, 0);
console.log(buf);
// <Buffer 43 eb d5 b7 dd f9 5f d7>
// <Buffer d7 5f f9 dd b7 d5 eb 43>
value
offset
Number, Optionalend
Number, OptionalFills the buffer with the specified value. If the offset
(defaults to 0
)
and end
(defaults to buffer.length
) are not given it will fill the entire
buffer.
var b = new Buffer(50);
b.fill("h");
Creates a new ArrayBuffer
with the copied memory of the buffer instance.
How many bytes will be returned when buffer.inspect()
is called. This can
be overridden by user modules.
Note that this is a property on the buffer module returned by
require('buffer')
, not on the Buffer global, or a buffer instance.
Returns an un-pooled Buffer
.
In order to avoid the garbage collection overhead of creating many individually
allocated Buffers, by default allocations under 4KB are sliced from a single
larger allocated object. This approach improves both performance and memory
usage since v8 does not need to track and cleanup as many Persistent
objects.
In the case where a developer may need to retain a small chunk of memory from a pool for an indeterminate amount of time it may be appropriate to create an un-pooled Buffer instance using SlowBuffer and copy out the relevant bits.
// need to keep around a few small chunks of memory
var store = [];
socket.on('readable', function() {
var data = socket.read();
// allocate for retained data
var sb = new SlowBuffer(10);
// copy the data into the new allocation
data.copy(sb, 0, 0, 10);
store.push(sb);
});
Though this should used sparingly and only be a last resort after a developer has actively observed undue memory retention in their applications.


Video: Oh Boy, Sonic's Movie Redesign Is Revealed In Brand New Trailer
Sonic's redesign is here!
by Ryan CraddockThe moment we've all been waiting for is here, folks: the brand new Sonic the Hedgehog movie trailer has officially landed.
When the first images and trailer were revealed for the upcoming Sonic movie earlier this year, it's pretty safe to say that fans weren't impressed with the blue blur's design. It caused so much of a stink online that the movie's creators felt the need to scrap Sonic's look altogether and give him a new coat of paint.
Now, we can finally see the new redesign in action, and we have to say we definitely prefer this to the original. As you can see, the film is now expected to hit theatres on 14th February 2020. Here's the new official poster:
Update: Sonic creator Yuji Naka has commented on the new design, and he seems mostly pleased.
Go on, then... What do you think? Do you prefer this to the original? Are you now excited to watch the film? Still not impressed? Share your thoughts with us below.


Career Profile
Senior software developer enthusiast about web application development, Java language and JavaScript frameworks.
Experiences
In this moment I have the opportunity to lead a great team of outstanding developers as a software project manager. I have seven colleagues and together we develop several web applications with Java on the server side, and different technologies on client side: some applications use Flex and some are developed with JavaScript (BackboneJS, JQuery). We use Oracle, MSSQL and MySQL for database and we are supporting different application servers (Apache Tomcat, WebSphere).
We use agile methodology and we are working close with clients to sustain and enhance their business and maintain our products at best quality.
1. First I've worked as Senior Developer in a team that made development and sustaining on a application server (a customized Apache Tomcat server with jetspeed2 as a portal and a proprietary framework used to develop portlet applications). Among other responsibilities I've leaded some training sessions for some colleagues from other sites (Belgium, Holland) and I had the opportunity to train colleagues in my team and guide them as a coach.
2. I've been involved then in developing a financial application that offers the functionality of creation, enrichment and correction for any kind of structured data previously defined in the system. Main scope is to enable recycling of incorrect financial flows. It was an web application developed in java on the server side and Flex on the client side. Oracle and MySQL were supported.
3. The third project I've contributed to is an web application build with Java on server side (springframework, REST services with Jersey) and Flex on client side. It was used to make custom queries on large amount of structured data.
I've started working in Axway on a product was used as an access and accessibility tool to provide a central repository, identity broker, and single security audit point for all the other products developed in Axway. The application was developed using a proprietary framework build on top of jetspeed2 portal, delivered with an Apache Tomcat server. It was served by an MySQL database.
I had the responsabilities of creating technical specifications for feature requests, implementing new functionalities, create unit and integration tests to assure best quality of the product.I was involved in the development of a travel management solution that was consolidating corporate card data, real-time travel bookings, flight status and tracking data. It was an web application developed in Java with Struts, OJB on the server side, JSP on the client side and Oracle database.
As a Java developer my responsibilities were to collaborate on defining the technical specification based on client requirements, to implement different project modules according to specifications, to create unit and integration tests.I was involved in the development of an eCommerce solution for a customer using HTML, JavaScript and PHP. The databased used was MySQL.
As a developer I was involved in the creation of a software system used for management of the stocks, orders and billing. It is still used in restaurants, coffee shops, hotels, shops. It was developed in java using Swing for client side for some touch screen devices that connects to a server using sockets.


| Methods' Summary |
| getPersonalCertificates |
* Get personal certificate from the environment
|
| getCertificate |
* Get certificate from the environment by issuer name and serial number
|
| buildCertificatePath |
* build certificate path from a certain certificate
|
| createCertificateFromRaw |
* Create certificate interface from raw DER encoded certificate
|
| createCertificateFromAscii |
* Create certificate interface from a BASE64 encoded certificate.
|
| verifyCertificate |
Verify a certificate.
The method provides a way to verify a certificate.
|
| getCertificateCharacters |
* Get a certificate characters.
*
* The method provides a way to get certificate characters like:
* 1. Whether or not the certificate have a private key in the user profile.
* 2. Whether or not the certificate is a trusted certificate.
* 3. Whether or not the certificate is a self-signed certificate.
*
* The certificate characters is defined as bit-wise long, please refer to
* CertificateCharacters definition.
|
| getSecurityEnvironmentInformation |
* Get the Environment detail infos
|
| Methods' Details |
getPersonalCertificates
- Description
- * Get personal certificate from the environment
|
|
getCertificate
- Description
- * Get certificate from the environment by issuer name and serial number
|
|
buildCertificatePath
- Description
- * build certificate path from a certain certificate
|
|
createCertificateFromRaw
- Description
- * Create certificate interface from raw DER encoded certificate
|
|
createCertificateFromAscii
- Description
- * Create certificate interface from a BASE64 encoded certificate.
|
|
verifyCertificate
- Description
- Verify a certificate.
The method provides a way to verify a certificate.
- Parameter xEECertificate
- The certificate which is to be validated.
- Parameter intermediateCertificates
- Additional certificates which can be used by the method in constructing
the certificate chain. The root certificate may also be contained. However,
the implementation must check if the root certificate is indeed trusted by
the user.
All entries of the sequence must be non-null references.
- Returns
- The validation status will returned as a bit-wise long, please refer to
CertificateValidity definition.
|
|
getCertificateCharacters
- Description
- * Get a certificate characters.
*
* The method provides a way to get certificate characters like:
* 1. Whether or not the certificate have a private key in the user profile.
* 2. Whether or not the certificate is a trusted certificate.
* 3. Whether or not the certificate is a self-signed certificate.
*
* The certificate characters is defined as bit-wise long, please refer to
* CertificateCharacters definition.
|
|
getSecurityEnvironmentInformation
| string |
| getSecurityEnvironmentInformation(); |
- Description
- * Get the Environment detail infos
|
|
Copyright © 2013, The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache, the Apache feather logo, Apache OpenOffice and OpenOffice.org are trademarks of The Apache Software Foundation. Other names may be trademarks of their respective owners.


My Favorite Things
These are a few of my favorite things:
People
- Julie Andrews
- Barack Obama
- My friends
Favorite ice cream, in order from most to least...
- Gooey chocolate brownie
- Cookie dough
- Vanilla dip cone
Thanks for looking!
If you'd like to try some gooey chocolate brownie icecream, check out Salt and Straw ice cream in downtown Portland!
Check out our awesome first webpage!


Breaking: "Allegation Of Withdrawal Of Cases Against Ajit Pawar": Shiv Sena To Move SC To Restrain Fadnavis Govt From Taking Policy Decisions
by LIVELAW NEWS NETWORKIn the midst of media reports on allegation of withdrawal of some cases against Maharashtra Deputy Chief Minister Ajit Pawar, the Shivsena-NCP- Congress Alliance may move the Supreme Court for a direction to restrain the Fadnavis Government from taking important policy decisions.
The petitioners want to highlight the media reports alleging the closure of nine (9) cases in the 70,000/- crore irrigation scam against Shri. Ajit Pawar.
"If the Court gives only 24 hrs time to prove the majority, we will not press the application", sources told LiveLaw.
According to the petitioners the allegation regarding closure of serious economic offences against Ajit Pawar even before the floor test is completely illegal. The Chief Minister cannot take major policy decisions without succeeding in the floor test.The government which is illegally and unconstitutionally formed is admittedly a minority government and does not enjoy the support of the majority.
A three Judge Bench headed by Justice NV Ramana will pass orders Tomorrow on the petition filed by Shiv Sena, Nationalist Congress Party and Congress against the decision of Maharashtra Governor to invite Devendra Fadnavis to form government in Maharashtra.
The Maharashtra anti-corruption bureau has denied the news reports regarding the withdrawal of Cases against Ajith Pawar.
Read the press release here;


Business Intelligence's Cartography of a Clinical Trial
Number of existing business intelligence deliverables
Group by {{ordinate}}
{{value}}
Filter by Company
Check All
Uncheck All
{{company.name}}
{{value}}
{{key || 'Not categorized'}}
{{value.total}}
{{detail}}
{{key}}
Show all
Total : {{ alldata.length}}
Focused ({{ reports.length}})
{{filter}}
Clear
{{report.solution}}
{{report.type}}
{{report.name}}
{{report.category}}
{{report.levelHierarchy}}
{{report.processLevel1}}
{{report.processLevel2}}
{{report.processLevel3}}


{{+bindTo:partials.standard_nacl_api}}
| typedef internal::CallbackOutputTraits < T >::StorageType | OutputStorageType |
| typedef internal::CallbackOutputTraits < T >::APIArgType | APIArgType |
| CompletionCallbackWithOutput (OutputStorageType *output) | |
| CompletionCallbackWithOutput (PP_CompletionCallback_Func func, void *user_data, OutputStorageType *output) | |
| CompletionCallbackWithOutput (PP_CompletionCallback_Func func, void *user_data, int32_t flags, OutputStorageType *output) | |
| APIArgType | output () const |
A CompletionCallbackWithOutput defines a completion callback that additionally stores a pointer to some output data.
Some C++ wrappers take a CompletionCallbackWithOutput when the browser is returning a bit of data as part of the function call. The "output" parameter stored in the CompletionCallbackWithOutput will receive the data from the browser.
You can create this yourself, but it is most common to use with the CompletionCallbackFactory's NewCallbackWithOutput, which manages the storage for the output parameter for you and passes it as an argument to your callback function.
Note that this class doesn't actually do anything with the output data, it just stores a pointer to it. C++ wrapper objects that accept a CompletionCallbackWithOutput will retrieve this pointer and pass it to the browser as the output parameter.
| typedef internal::CallbackOutputTraits<T>::APIArgType pp::CompletionCallbackWithOutput< T >::APIArgType |
| typedef internal::CallbackOutputTraits<T>::StorageType pp::CompletionCallbackWithOutput< T >::OutputStorageType |
The type that will actually be stored in the completion callback.
In the common case, this will be equal to the template parameter (for example, CompletionCallbackWithOutput<int> would obviously take an int*. However, resources are passed as PP_Resource, vars as PP_Var, and arrays as our special ArrayOutputAdapter object. The CallbackOutputTraits defines specializations for all of these cases.
| pp::CompletionCallbackWithOutput< T >::CompletionCallbackWithOutput | ( | OutputStorageType * | output | ) | [inline] |
The default constructor will create a blocking CompletionCallback
that references the given output data.
| [in] | output | A pointer to the data associated with the callback. The caller must ensure that this pointer outlives the completion callback. |
Note: Blocking completion callbacks are only allowed from from background threads.
| pp::CompletionCallbackWithOutput< T >::CompletionCallbackWithOutput | ( | PP_CompletionCallback_Func | func, |
| void * | user_data, | ||
| OutputStorageType * | output | ||
| ) | [inline] |
A constructor for creating a CompletionCallback
that references the given output data.
| [in] | func | The function to be called on completion. |
| [in] | user_data | The user data to be passed to the callback function. This is optional and is typically used to help track state in case of multiple pending callbacks. |
| [in] | output | A pointer to the data associated with the callback. The caller must ensure that this pointer outlives the completion callback. |
| pp::CompletionCallbackWithOutput< T >::CompletionCallbackWithOutput | ( | PP_CompletionCallback_Func | func, |
| void * | user_data, | ||
| int32_t | flags, | ||
| OutputStorageType * | output | ||
| ) | [inline] |
A constructor for creating a CompletionCallback
that references the given output data.
| [in] | func | The function to be called on completion. |
| [in] | user_data | The user data to be passed to the callback function. This is optional and is typically used to help track state in case of multiple pending callbacks. |
| [in] | flags | Bit field combination of PP_CompletionCallback_Flag flags used to control how non-NULL callbacks are scheduled by asynchronous methods. |
| [in] | output | A pointer to the data associated with the callback. The caller must ensure that this pointer outlives the completion callback. |
| APIArgType pp::CompletionCallbackWithOutput< T >::output | ( | ) | const [inline] |


My parents are in town… Does anyone else not get a thing done with family in town!!!?!? It’s such a blessing to have them come up. We don’t have live-in or even live-close grandparents so to have visiting-loving grandparents that are not only willing to take the kids but enjoy them while they’re out! - it’s a game changer almost enough to make us want to move closer :)
Anyway, they have a way of throwing off my game ;/ so much that it’s hard to even check in with mommyknowsbest.co. So, if you’ve been wondering if I fell off the face of the earth - I’m here! For you! For me, really, as this is basically helping to realign my sanity !!!! But I’m here. What’s new?
xoxo, Jen


Main Content
Breadcrumb
Bronwyn Douglass, Soprano
Bronwyn is a Mezzo-soprano who comes from Milton on the coast of NSW. She is currently the holder of the Amelia Joscelyne Memorial Schoarship with the Dame Nellie Melba Trust.
Bronwyn graduated with a Masters in Operatic Performance from the Queensland Conservatorium in 2014, also receiving ab award for Academic Excellence and the Wagner Society Encouragement Award. She attended the Lisa Gasteen National Opera School from 2013 – 2015 as well as undertaking the Mediterranean Opera Studio Programme held in Caltigirone in Sicily.
Bronwyn has performed many operatic roles in Queensland and New South Wales. She has also performed as the Alto Soloist for the Queeensland Symphony Orchestra for their 2015 Performance of the Messiah and in Vivaldi’s Gloria for the 4MBS Festival of classics in 2014.
Bronwyn has received many awards, a Finalist in the Sun aria in 2015,winner of the Royal Melbourne Philharmonic Aria in 2015. She has also been placed in several competitions. In 2015 she was awarded the Champion of Champions Vocal Soloist at the North Queensland Eisteddfod and that year also won the Open Vocal Solo at the Australian Concerto and Vocal Competition. As part of that award she sang with the Barrier Reef Orchestra at the T150 Concert.


November 28, 2015
Entering into anything new can be overwhelming and intimidating. I should know, I have chosen to enter the field of web development and I'm attending Dev Bootcamp. Dev Bootcamp (DBC) is a development bootcamp geared at taking you from newbie to a "world class beginner" in 18 weeks. It is going to be one of the most challenging experiences of my life. This blog series is designed to be an introduction to the world of development for the novice developer by a novice developer. By the end of this series I hope that you have had an opportunity to grow as much as I have.
What is the difference between margin, border, and padding?
I can't believe that the holidays are already upon us! It seems like I just put away all the Christmas decorations last week, and now I'm schlepping them back out. Now I understand your confusion. Why is this guy talking about the holidays and Christmas decorations when he is supposed to be talking about margins, borders, and padding?! Well, let me explain in my typical round about way.
My wife and son thought that we could start a new tradition this year and get our Christmas tree the day after Thanksgiving. So yesterday we braved the frigid 50° California weather and cut down our Christmas tree, brought it home, and set it up. Now mind you, this was all really done because we have a Bearded Dragon who waits all year for his tree. He climbs up it and sits on the sunlit branches; yes, he has a pretty cush life. Now I want you to imaging that this Christmas tree is a web browser and all the presents underneath are the elements within the web page. Can you see that? Well, this is typically called the "Box Model" when talking about HTML and CSS, were each element is an individual box holding its content. So what exactly did the whole story of the Christmas tree have to do with any of this? Nothing, it was just a fun little way to introduce boxes.
Margin
You can think of the margin as a force field that surrounds the box that holds our content. Its job is to make sure that the other boxes keep there distance and don't get too close to our box. The margin, however, does not increase the physical dimensions of our element.
Border
If we go back to our initial example of the boxes being the presents under our Christmas tree, you can think of the border as the wrapping paper on the box. It wraps our content and is its outer most dimension. It can add decoration or even effect the shape of our box. Unlike the margin, the border does effect the dimensions of our element. So if you had an element with a width of 200px and a height of 200px and you placed a 5px border around the element. The overall dimensions would remain 200px by 200px, but the interior of the box would be reduced to 190px by 190px.
Padding
By default there is no padding on an element and if you just have a bunch of text, that may work out to be ok. But what if you have a button with a colored background? You don't want the background color to just be around our content, you want a little space around the content in the button. Enter padding! Padding is the spacing in-between the border and our content.
Whew! Much like Thanksgiving dinner, that's a lot to digest. It takes some time to truly understand how margins, borders, and padding effect our elements. But with practice and using the developer tools in your browser, it won't take long for you to become a master of the "box-model".


, you currently have items ready to review.
Enter common separated item id values (eg. 好-0-rune, 你-0-tone).


Linear search is the simplest of the algorithms,
It functions by iterating one element at a time through the data structure until it finds an element equaling it's target
Linear search is the simplest of the algorithms,
It functions by iterating one element at a time through the data structure until it finds an element equaling it's target
Here we see the algorithm iterating through the values one by one until it finds it's target J; at which point it drops out.
Linear search can be used on any array or linear data structure, even if it's unsorted.
Linear search is considered the most basic search, and contains no optimisations.


\( \sqrt[3]{8}\) =
\( \sqrt[3]{64}\) =
\( \sqrt{1024}\) =
\( \sqrt{625}\) =
You may find http://saasmath.seattleacademy.org/wiki/index.php/Help:Contents helpful, but rather than the <math> tag, use the \( and \( for inline expressions and open and close with $$ for block expressions.


Ohhh SNAP!
How well do you know the Supplemental Nutrition Assistance Program?
# / #
First Question...
☑
☒
☑
☒
☑
☒
☑
☒
Make a selection...
Submit! >
Try again!


|
M480 BSP V3.05.005
The Board Support Package for M480 Series
|
#include <usbd_reg.h>
Data Fields | |
| __IO uint32_t | INTEN |
| __IO uint32_t | INTSTS |
| __IO uint32_t | FADDR |
| __I uint32_t | EPSTS |
| __IO uint32_t | ATTR |
| __I uint32_t | VBUSDET |
| __IO uint32_t | STBUFSEG |
| __I uint32_t | EPSTS0 |
| __I uint32_t | EPSTS1 |
| __I uint32_t | LPMATTR |
| __I uint32_t | FN |
| __IO uint32_t | SE0 |
| USBD_EP_T | EP [12] |
Definition at line 186 of file usbd_reg.h.
| USBD_T::ATTR |
[0x0010] USB Device Bus Status and Attribution Register
| Bits | Field | Descriptions |
| [0] | USBRST | USB Reset Status
0 = Bus no reset. 1 = Bus reset when SE0 (single-ended 0) more than 2.5us. Note: This bit is read only. |
| [1] | SUSPEND | Suspend Status
0 = Bus no suspend. 1 = Bus idle more than 3ms, either cable is plugged off or host is sleeping. Note: This bit is read only. |
| [2] | RESUME | Resume Status
0 = No bus resume. 1 = Resume from suspend. Note: This bit is read only. |
| [3] | TOUT | Time-out Status
0 = No time-out. 1 = No Bus response more than 18 bits time. Note: This bit is read only. |
| [4] | PHYEN | PHY Transceiver Function Enable Bit
0 = PHY transceiver function Disabled. 1 = PHY transceiver function Enabled. |
| [5] | RWAKEUP | Remote Wake-up
0 = Release the USB bus from K state. 1 = Force USB bus to K (USB_D+ low, USB_D-: high) state, used for remote wake-up. |
| [7] | USBEN | USB Controller Enable Bit
0 = USB Controller Disabled. 1 = USB Controller Enabled. |
| [8] | DPPUEN | Pull-up Resistor on USB_DP Enable Bit
0 = Pull-up resistor in USB_D+ bus Disabled. 1 = Pull-up resistor in USB_D+ bus Active. |
| [10] | BYTEM | CPU Access USB SRAM Size Mode Selection
0 = Word mode: The size of the transfer from CPU to USB SRAM can be Word only. 1 = Byte mode: The size of the transfer from CPU to USB SRAM can be Byte only. |
| [11] | LPMACK | LPM Token Acknowledge Enable Bit
The NYET/ACK will be returned only on a successful LPM transaction if no errors in both the EXT token and the LPM token and a valid bLinkState = 0001 (L1) is received, else ERROR and STALL will be returned automatically, respectively. 0= the valid LPM Token will be NYET. 1= the valid LPM Token will be ACK. |
| [12] | L1SUSPEND | LPM L1 Suspend
0 = Bus no L1 state suspend. 1 = This bit is set by the hardware when LPM command to enter the L1 state is successfully received and acknowledged. Note: This bit is read only. |
| [13] | L1RESUME | LPM L1 Resume
0 = Bus no LPM L1 state resume. 1 = LPM L1 state Resume from LPM L1 state suspend. Note: This bit is read only. |
Definition at line 894 of file usbd_reg.h.
| USBD_EP_T USBD_T::EP[12] |
[0x500~0x5bc] USB End Point 0 ~ 11 Configuration Register
Definition at line 911 of file usbd_reg.h.
| USBD_T::EPSTS |
[0x000c] USB Device Endpoint Status Register
| Bits | Field | Descriptions |
| [7] | OV | Overrun
It indicates that the received data is over the maximum payload number or not. 0 = No overrun. 1 = Out Data is more than the Max Payload in MXPLD register or the Setup Data is more than 8 Bytes. |
Definition at line 893 of file usbd_reg.h.
| USBD_T::EPSTS0 |
[0x0020] USB Device Endpoint Status Register 0
| Bits | Field | Descriptions |
| [03:00] | EPSTS0 | Endpoint 0 Status
These bits are used to indicate the current status of this endpoint 0000 = In ACK. 0001 = In NAK. 0010 = Out Packet Data0 ACK. 0011 = Setup ACK. 0110 = Out Packet Data1 ACK. 0111 = Isochronous transfer end. |
| [07:04] | EPSTS1 | Endpoint 1 Status
These bits are used to indicate the current status of this endpoint 0000 = In ACK. 0001 = In NAK. 0010 = Out Packet Data0 ACK. 0011 = Setup ACK. 0110 = Out Packet Data1 ACK. 0111 = Isochronous transfer end. |
| [11:08] | EPSTS2 | Endpoint 2 Status
These bits are used to indicate the current status of this endpoint 0000 = In ACK. 0001 = In NAK. 0010 = Out Packet Data0 ACK. 0011 = Setup ACK. 0110 = Out Packet Data1 ACK. 0111 = Isochronous transfer end. |
| [15:12] | EPSTS3 | Endpoint 3 Status
These bits are used to indicate the current status of this endpoint 0000 = In ACK. 0001 = In NAK. 0010 = Out Packet Data0 ACK. 0011 = Setup ACK. 0110 = Out Packet Data1 ACK. 0111 = Isochronous transfer end. |
| [19:16] | EPSTS4 | Endpoint 4 Status
These bits are used to indicate the current status of this endpoint 0000 = In ACK. 0001 = In NAK. 0010 = Out Packet Data0 ACK. 0011 = Setup ACK. 0110 = Out Packet Data1 ACK. 0111 = Isochronous transfer end. |
| [23:20] | EPSTS5 | Endpoint 5 Status
These bits are used to indicate the current status of this endpoint 0000 = In ACK. 0001 = In NAK. 0010 = Out Packet Data0 ACK. 0011 = Setup ACK. 0110 = Out Packet Data1 ACK. 0111 = Isochronous transfer end. |
| [27:24] | EPSTS6 | Endpoint 6 Status
These bits are used to indicate the current status of this endpoint 0000 = In ACK. 0001 = In NAK. 0010 = Out Packet Data0 ACK. 0011 = Setup ACK. 0110 = Out Packet Data1 ACK. 0111 = Isochronous transfer end. |
| [31:28] | EPSTS7 | Endpoint 7 Status
These bits are used to indicate the current status of this endpoint 0000 = In ACK. 0001 = In NAK. 0010 = Out Packet Data0 ACK. 0011 = Setup ACK. 0110 = Out Packet Data1 ACK. 0111 = Isochronous transfer end. |
Definition at line 900 of file usbd_reg.h.
| USBD_T::EPSTS1 |
[0x0024] USB Device Endpoint Status Register 1
| Bits | Field | Descriptions |
| [3:0] | EPSTS8 | Endpoint 8 Status
These bits are used to indicate the current status of this endpoint 0000 = In ACK. 0001 = In NAK. 0010 = Out Packet Data0 ACK. 0011 = Setup ACK. 0110 = Out Packet Data1 ACK. 0111 = Isochronous transfer end. |
| [7:4] | EPSTS9 | Endpoint 9 Status
These bits are used to indicate the current status of this endpoint 0000 = In ACK. 0001 = In NAK. 0010 = Out Packet Data0 ACK. 0011 = Setup ACK. 0110 = Out Packet Data1 ACK. 0111 = Isochronous transfer end. |
| [11:8] | EPSTS10 | Endpoint 10 Status
These bits are used to indicate the current status of this endpoint 0000 = In ACK. 0001 = In NAK. 0010 = Out Packet Data0 ACK. 0011 = Setup ACK. 0110 = Out Packet Data1 ACK. 0111 = Isochronous transfer end. |
| [15:12] | EPSTS11 | Endpoint 11 Status
These bits are used to indicate the current status of this endpoint 0000 = In ACK. 0001 = In NAK. 0010 = Out Packet Data0 ACK. 0011 = Setup ACK. 0110 = Out Packet Data1 ACK. 0111 = Isochronous transfer end. |
Definition at line 901 of file usbd_reg.h.
| USBD_T::FADDR |
[0x0008] USB Device Function Address Register
| Bits | Field | Descriptions |
| [6:0] | FADDR | USB Device Function Address
|
Definition at line 892 of file usbd_reg.h.
| USBD_T::FN |
[0x008c] USB Frame number Register
| Bits | Field | Descriptions |
| [10:0] | FN | Frame Number
These bits contain the 11-bits frame number in the last received SOF packet. |
Definition at line 906 of file usbd_reg.h.
| USBD_T::INTEN |
[0x0000] USB Device Interrupt Enable Register
| Bits | Field | Descriptions |
| [0] | BUSIEN | Bus Event Interrupt Enable Bit
0 = BUS event interrupt Disabled. 1 = BUS event interrupt Enabled. |
| [1] | USBIEN | USB Event Interrupt Enable Bit
0 = USB event interrupt Disabled. 1 = USB event interrupt Enabled. |
| [2] | VBDETIEN | VBUS Detection Interrupt Enable Bit
0 = VBUS detection Interrupt Disabled. 1 = VBUS detection Interrupt Enabled. |
| [3] | NEVWKIEN | USB No-event-wake-up Interrupt Enable Bit
0 = No-event-wake-up Interrupt Disabled. 1 = No-event-wake-up Interrupt Enabled. |
| [4] | SOFIEN | Start of Frame Interrupt Enable Bit
0 = SOF Interrupt Disabled. 1 = SOF Interrupt Enabled. |
| [8] | WKEN | Wake-up Function Enable Bit
0 = USB wake-up function Disabled. 1 = USB wake-up function Enabled. |
| [15] | INNAKEN | Active NAK Function and Its Status in IN Token
0 = When device responds NAK after receiving IN token, IN NAK status will not be updated to USBD_EPSTS0 and USBD_EPSTS1register, so that the USB interrupt event will not be asserted. 1 = IN NAK status will be updated to USBD_EPSTS0 and USBD_EPSTS1 register and the USB interrupt event will be asserted, when the device responds NAK after receiving IN token. |
Definition at line 890 of file usbd_reg.h.
| USBD_T::INTSTS |
[0x0004] USB Device Interrupt Event Status Register
| Bits | Field | Descriptions |
| [0] | BUSIF | BUS Interrupt Status
The BUS event means that there is one of the suspense or the resume function in the bus. 0 = No BUS event occurred. 1 = Bus event occurred; check USBD_ATTR[3:0] to know which kind of bus event was occurred, cleared by write 1 to USBD_INTSTS[0]. |
| [1] | USBIF | USB Event Interrupt Status
The USB event includes the SETUP Token, IN Token, OUT ACK, ISO IN, or ISO OUT events in the bus. 0 = No USB event occurred. 1 = USB event occurred, check EPSTS0~5[2:0] to know which kind of USB event was occurred, cleared by write 1 to USBD_INTSTS[1] or EPSTS0~11 and SETUP (USBD_INTSTS[31]). |
| [2] | VBDETIF | VBUS Detection Interrupt Status
0 = There is not attached/detached event in the USB. 1 = There is attached/detached event in the USB bus and it is cleared by write 1 to USBD_INTSTS[2]. |
| [3] | NEVWKIF | No-event-wake-up Interrupt Status
0 = NEVWK event does not occur. 1 = No-event-wake-up event occurred, cleared by write 1 to USBD_INTSTS[3]. |
| [4] | SOFIF | Start of Frame Interrupt Status
0 = SOF event does not occur. 1 = SOF event occurred, cleared by write 1 to USBD_INTSTS[4]. |
| [16] | EPEVT0 | Endpoint 0's USB Event Status
0 = No event occurred in endpoint 0. 1 = USB event occurred on Endpoint 0, check USBD_EPSTS0[3:0] to know which kind of USB event was occurred, cleared by write 1 to USBD_INTSTS[16] or USBD_INTSTS[1]. |
| [17] | EPEVT1 | Endpoint 1's USB Event Status
0 = No event occurred in endpoint 1. 1 = USB event occurred on Endpoint 1, check USBD_EPSTS0[7:4] to know which kind of USB event was occurred, cleared by write 1 to USBD_INTSTS[17] or USBD_INTSTS[1]. |
| [18] | EPEVT2 | Endpoint 2's USB Event Status
0 = No event occurred in endpoint 2. 1 = USB event occurred on Endpoint 2, check USBD_EPSTS0[11:8] to know which kind of USB event was occurred, cleared by write 1 to USBD_INTSTS[18] or USBD_INTSTS[1]. |
| [19] | EPEVT3 | Endpoint 3's USB Event Status
0 = No event occurred in endpoint 3. 1 = USB event occurred on Endpoint 3, check USBD_EPSTS0[15:12] to know which kind of USB event was occurred, cleared by write 1 to USBD_INTSTS[19] or USBD_INTSTS[1]. |
| [20] | EPEVT4 | Endpoint 4's USB Event Status
0 = No event occurred in endpoint 4. 1 = USB event occurred on Endpoint 4, check USBD_EPSTS0[19:16] to know which kind of USB event was occurred, cleared by write 1 to USBD_INTSTS[20] or USBD_INTSTS[1]. |
| [21] | EPEVT5 | Endpoint 5's USB Event Status
0 = No event occurred in endpoint 5. 1 = USB event occurred on Endpoint 5, check USBD_EPSTS0[23:20] to know which kind of USB event was occurred, cleared by write 1 to USBD_INTSTS[21] or USBD_INTSTS[1]. |
| [22] | EPEVT6 | Endpoint 6's USB Event Status
0 = No event occurred in endpoint 6. 1 = USB event occurred on Endpoint 6, check USBD_EPSTS0[27:24] to know which kind of USB event was occurred, cleared by write 1 to USBD_INTSTS[22] or USBD_INTSTS[1]. |
| [23] | EPEVT7 | Endpoint 7's USB Event Status
0 = No event occurred in endpoint 7. 1 = USB event occurred on Endpoint 7, check USBD_EPSTS0[31:28] to know which kind of USB event was occurred, cleared by write 1 to USBD_INTSTS[23] or USBD_INTSTS[1]. |
| [24] | EPEVT8 | Endpoint 8's USB Event Status
0 = No event occurred in endpoint 8. 1 = USB event occurred on Endpoint 8, check USBD_EPSTS1[3 :0] to know which kind of USB event was occurred, cleared by write 1 to USBD_INTSTS[24] or USBD_INTSTS[1]. |
| [25] | EPEVT9 | Endpoint 9's USB Event Status
0 = No event occurred in endpoint 9. 1 = USB event occurred on Endpoint 9, check USBD_EPSTS1[7 :4] to know which kind of USB event was occurred, cleared by write 1 to USBD_INTSTS[25] or USBD_INTSTS[1]. |
| [26] | EPEVT10 | Endpoint 10's USB Event Status
0 = No event occurred in endpoint 10. 1 = USB event occurred on Endpoint 10, check USBD_EPSTS1[11 :8] to know which kind of USB event was occurred, cleared by write 1 to USBD_INTSTS[26] or USBD_INTSTS[1]. |
| [27] | EPEVT11 | Endpoint 11's USB Event Status
0 = No event occurred in endpoint 11. 1 = USB event occurred on Endpoint 11, check USBD_EPSTS1[ 15:12] to know which kind of USB event was occurred, cleared by write 1 to USBD_INTSTS[27] or USBD_INTSTS[1]. |
| [31] | SETUP | Setup Event Status
0 = No Setup event. 1 = Setup event occurred, cleared by write 1 to USBD_INTSTS[31]. |
Definition at line 891 of file usbd_reg.h.
| USBD_T::LPMATTR |
[0x0088] USB LPM Attribution Register
| Bits | Field | Descriptions |
| [3:0] | LPMLINKSTS | LPM Link State
These bits contain the bLinkState received with last ACK LPM Token |
| [7:4] | LPMBESL | LPM Best Effort Service Latency
These bits contain the BESL value received with last ACK LPM Token |
| [8] | LPMRWAKUP | LPM Remote Wakeup
This bit contains the bRemoteWake value received with last ACK LPM Token |
Definition at line 905 of file usbd_reg.h.
| USBD_T::SE0 |
[0x0090] USB Device Drive SE0 Control Register
| Bits | Field | Descriptions |
| [0] | SE0 | Drive Single Ended Zero in USB Bus
The Single Ended Zero (SE0) is when both lines (USB_D+ and USB_D-) are being pulled low. 0 = Normal operation. 1 = Force USB PHY transceiver to drive SE0. |
Definition at line 907 of file usbd_reg.h.
| USBD_T::STBUFSEG |
[0x0018] SETUP Token Buffer Segmentation Register
| Bits | Field | Descriptions |
| [8:3] | STBUFSEG | SETUP Token Buffer Segmentation
It is used to indicate the offset address for the SETUP token with the USB Device SRAM starting address The effective starting address is USBD_SRAM address + {STBUFSEG, 3'b000} Where the USBD_SRAM address = USBD_BA+0x100h. Note: It is used for SETUP token only. |
Definition at line 896 of file usbd_reg.h.
| USBD_T::VBUSDET |
[0x0014] USB Device VBUS Detection Register
| Bits | Field | Descriptions |
| [0] | VBUSDET | Device VBUS Detection
0 = Controller is not attached to the USB host. 1 = Controller is attached to the USB host. |
Definition at line 895 of file usbd_reg.h.


I’ve always liked superhero stuff, but was never into comics as a kid. Reading Wikipedia summaries of the insanity that is the DC universe’s continuity makes me never want to touch the stuff. Now, it seems, they’ve thrown all of that out and started things fresh. Though it’s not a reboot. Whatever.
Having zero desire to locate, much less visit, my local comics store, the awesome Comixology app is my gateway to nerdom. I’ve used it to read a few short-run titles like Kick-Ass and Wanted, and they carry the DC titles. And, the New 52 titles are being released digitally at the same time as they are in print. Awesome. Nothing more annoying than downloading some 5 year old comic that just abruptly ends because they didn’t feel like digitizing all of it.
Based on what I know about the characters, and a few recommendations, I got the #1’s for several of the new titles:
- Action Comics - Superman’s young and pissed, and Lex Luthor is out to get him. Love this one. And, I’m cool with his costume being jeans and a T-shirt.
- All Star Western - Jonah Hex is a kick-ass dude in 1800s Gotham City. I like the vibe, but the story seemed a bit formulaic, and I’m not sure I care about yet another grumpy badass character. I’ll read #2 and see if it picks up.
- Batman - YES. So very good.
- Batwoman - No clue who or what Batwoman is supposed to be. I bought the first two issues based on a recommendation and I probably won’t continue. Story is kinda boring and the character just doesn’t interest me.
- Catwoman - Dumb fun. This one’s been getting flak for it’s overt sexuality, but I love the idea of a character who’s in it for herself and not trying to be a hero.  Definitely keep reading this one.
- Detective Comics - I dont even remember what this one’s about. Batman plus blood-n-guts. I dunno. Wasn’t really into it, and Batman is just way better so far.
- Justice League - Love it. The League hasn’t formed, no one knows each other or trusts each other and the government’s out to get all the heros. And Darkseid is sending bombs and dudes to Earth. Green Lantern: “You’re not just some guy in a bat costume are you?”. Ha!
- Wonder Woman - REALLY boring.
The rest of the new 52 titles don’t look super interesting to me; I think a lot of the Justice League characters are kinda boring on their own, with Superman and Batman being the exception. The other “Bat family” titles look OK, but I’m pretty happy with what I’ve got for the time being.
The only thing I don’t get how all this fits together; Batman’s in three of the titles I’m reading, and so is it the same guy at different points, or totally different stories that are timeless or what? Ah well.


Into The Okavango
API
We are providing open access to all of the data recorded during the 18 day expedition in the Okavango Delta.
There are 7 content types available: 'ambit', 'ambit_geo', 'sighting', 'breadcrumb', 'image', 'audio', 'beacon'. Each of these content types returns a data file in GeoJSON format. The structure of a call to the API is always the same:
http://intotheokavango.org/api/timeline?date=YYYYMMDD&types=TYPE
To request multiple days, you can append a 'days' parameter:
http://intotheokavango.org/api/timeline?date=YYYYMMDD&types=TYPE&days=#
For example, to get all of the animal sightings within two days of September 7th:
Ambit
Three expedition members (Steve, John & GB) are wearing Suunto Ambit watches, which record a variety of data, including heartrate, energy consumption, and positional data (see below). This data is measured at extremely high frequency (once every 10 seconds, for each person), so returns from this call can be quite large (one day of data is about 5MB).
Ambit Geo
Each of the three Ambit watches is also recording GPS coordinates. These are measure approximately once per minute.
Sightings
The Okavango Delta is one of the world's richest wildlife areas. Throughout the expedition, the team will be reporting sightings of animals that they spot along the way (with a focus on birds).
Images
Periodically, the team will be capturing images of the surrounding habitat. Due to bandwidth restrictions, the size of the images is extremely small - we are using these primarily for colour extraction.
Audio
What does the Okavango Delta sound like? Low-fi sound clips are recorded by the team every 10 minutes.
Beacon
All of the above data are uploaded via satellite once per day. In between, periodic reports of GPS position are sent and stored as 'beacon reports'


The following functions available with: source
"$CLOUDY_ROOT/inc/cloudy.testing.sh"
@code eval $(get_config 'path.to.config') @code
When requesting an array you must pass -a as the first argument if there's
any chance that the return value will be empty.
@code
eval $(get_config 'path.to.string' 'default_value')
eval $(get_config -a 'path.to.array' 'default_value')
@code
Echo $array_csv__array as CSV
@option --prose Use comma+space and then the word "all" as the final separator
as when writing English prose, e.g. "do, re and mi".
@option --quotes Wrap each item with double quotes.
@option --single-quotes Wrap each item with single quotes.
@code
array_csv__array=('foo bar' 'baz' zulu)
csv=$(array_csv)
@endcode
Remove duplicate values from an array.
Arguments:Beware the order of the array will most likely be altered.
@code
declare -a duplicated=("blue" "red" "blue" "yellow");
eval $(array_dedupe duplicated)
@endcode
Search $array_has_value__array for a value.
Arguments:array_has_value__array
You must provide your array as $array_has_value__array like so:
@code
array_has_value__array=("${some_array_to_search[@]}")
array_has_value "tree" && echo "found tree"
@endcode
Echo a string, which is an array joined by a substring.
Arguments:array_join__array
Apply a callback to every item in an array and echo new array eval statement.
Arguments:array_map__callback
The array_map__callback has to be re-defined for each call of array_map and receives the value of an array item as
it's argument. The example here expects that user_patterns is an array, already defined. The array user_patterns is
mutated by the eval statement at the end.
@code
function array_map__callback {
echo "
$1
"
}
declare -a titles=("The Hobbit" "Charlottes Web");
eval $(array_map titles)
@endcode
Mutate an array sorting alphabetically.
array_sort__array
Mutate an array sorting by the length of each item, short ot long
array_sort__array
@code
array_sort_by_item_length__array=("september" "five" "three" "on")
array_sort_by_item_length
@endcode
Assert that an array contains a value.
Arguments:Assert that an array has a given number of elements.
Arguments:Assert that variable by name is empty.
Arguments:Assert that two values are equal in value but not necessarily type.
Arguments:Assert a function returns a given exit code.
Arguments:Here are three examples of how to call...
@code
array_sort; assert_exit_status 0
$(has_option 'name'); assert_exit_status 0
has_option 'name' > /dev/null; assert_exit_status 0
@endcode
Assert that a value equals "false" or "FALSE".
Arguments:Assert that a file exists by path.
Arguments:Assert that a file does not exist at path.
Arguments:Asset one number is greater than another.
Arguments:Assert that an global variable is of a given type.
Arguments:Asset one number is less than another.
Arguments:Assert that an array does not contain a value.
Arguments:Assert that variable by name is not empty.
Arguments:Assert that two values are not the same.
Arguments:Assert that an global variable is not of a given type.
Arguments:Assert that a value matches a regular expression.
Arguments:Assert that two values are equal and of the same type.
Arguments:@todo is this needed, since bash is untyped?
Assert that a value equals "true" or "TRUE".
Arguments:Call this to erase the last "echo_task".
You may want to do this if the task was aborted and neight completed nor
failed. It will erase the task instead of marking a result.
Prompt for a Y or N confirmation.
Arguments:Create a sandbox for testing.
Some global variables need to be stashed during testing, such as those
to do with the exit system.
@see delete_test_sandbox
Return the current datatime in ISO8601 in UTC.
options -
-c - Remove hyphens and colons for use in a filename
Echo the arguments sent to this is an eye-catching manner.
Call as in the example below for better tracing.
@code
debug "Some message to show|$0|$FUNCNAME|$LINENO"
@endcode
Remove the sandboxed variables.
@see create_test_sandbox
Determine if a given directory has any non-hidden files or directories.
Arguments:Perform all tests in a file.
Arguments:Echo a string with blue text.
Arguments:@param $echo_list__array
Echo the elapsed time since the beginning of the script.
Echo an error message
Arguments:Echo a message indicating a failed test result.
Arguments:Echo a string with green text.
Arguments:Echo a string with a green background.
Arguments:@param $echo_list__array
Echo a heading string.
Arguments:$DESCRIPTION
Arguments:Echo an array as a bulleted list (does not clear list)
@param $echo_list__array
You must add items to your list first:
@code
list_add_item "List item"
echo_list
list_clear
@endcode
@see echo_list__array=("${some_array_to_echo[@]}")
Echo a message indicating a passed test result.
Arguments:Echo a string with red text.
Arguments:Echo a string with a red background.
Arguments:@param $echo_list__array
Echo a string with really, really loudly.
Arguments:Echo a message to the user to either enable and repeat, or view log for info.
Arguments:@code
fail_because "$(echo_see_log $LOGFILE)"
@endcode
Echo a slim version of the table as it's been defined.
Echo the table as it's been defined.
Echo a task has started, a.k.a, pending.
Arguments:This should be followed by echo_task_completed or echo_task_failed.
@see echo_task_completed
@see echo_task_failed
Replace the task pending with success.
@see echo_task
@see echo_task_failed
Replace the task pending with failure.
@see echo_task
@see echo_task_completed
Echo a title string.
Arguments:Echo a warning message
Arguments:Echo a string with white text.
Arguments:Echo a string with yellow text.
Arguments:Echo a string with a yellow background.
Arguments:@param $echo_list__array
Dispatch that an event has occurred to all listeners.
Additional arguments beyond $1 are passed on to the listeners.
Register an event listener.
Empties caches in $CLOUDY_ROOT (or other directory if provided) and exits.
@option --status=N Optional, set the exit status, a number > 0
Exit without echoing anything with a non-success code.
@option --status=N Optional, set the exit status, a number > 0
Checks if a variable has been evaluated into memory and points to an existing path.
Arguments:Both of these aliase examples are the same, though the --as is an older syntax
that has been deprecated.
@code
exit_with_failure_if_empty_config 'database.host'
## Using an alias...
exit_with_failure_if_empty_config 'host' 'database.host'
## Aliased, deprecated syntax.
exit_with_failure_if_empty_config 'database.host' --as=host
@endcode
Checks if a variable has been evaluated into memory yet or exits with failure.
Arguments:Both of these aliase examples are the same, though the --as is an older syntax
that has been deprecated.
@code
exit_with_failure_if_empty_config 'database.host'
## Using an alias...
exit_with_failure_if_empty_config 'host' 'database.host'
## Aliased, deprecated syntax.
exit_with_failure_if_empty_config 'database.host' --as=host
@endcode
Echo the help screen and exit.
Performs an initialization (setup default config, etc.) and exits.
You must set up an init command in your core config file.
Then call this function from inside `on_pre_config`, e.g.
[[ "$(get_command)" == "init" ]] && exit_with_init
The translation service is not yet bootstrapped in on_pre_config, so if you
want to alter the strings printed you can do something like this:
if [[ "$(get_command)" == "init" ]]; then
CLOUDY_FAILED="Initialization failed."
CLOUDY_SUCCESS="Initialization complete."
exit_with_init
fi
Echo a success message plus success reasons and exit
Arguments:Exit without echoing anything with a 0 status code.
Echo a success message (with elapsed time) plus success reasons and exit
Arguments:Echo test results and exit.
Set the exit status to fail with no message. Does not stop execution.
Try not to use this because it gives no indication as to why
@option --status=N Optional, set the exit status, a number > 0
@see exit_with_failure
Add a failure message to be shown on exit.
Arguments:@code
fail_because "$reason" "Some default if $reason is empty"
@endcode
Determine if a function has been defined.
Arguments:Echo the command that was used to call the script.
Return a operation argument by zero-based index key.
Arguments:As an example see the following code:
@code
./script.sh action blue apple
get_command --> "action"
get_command_arg 0 --> "blue"
get_command_arg 1 --> "apple"
@endcode
Returns 0 if found, 2 if using the default.
Echo all command arguments
If options are mixed in they will be stripped out, that is to say, if the
script was called like this "script.sh do -f re -h mi", this function will
echo "do re mi"
Get config path but assign it's value to a custom variable.
@code
eval $(get_config_as 'title' 'path.to.some.title' 'default')
eval $(get_config_as 'title' -a 'path.to.some.array' )
@code
Echos eval code for the keys of a configuration associative array.
Arguments:Echo eval code for keys of a configuration associative array using custom var.
Arguments:Echo eval code for paths of a configuration item.
Arguments:Relative paths are made absolute using $APP_ROOT.
Echo eval code for paths of a configuration item using custom var.
Arguments:Relative paths are made absolute using $APP_ROOT.
Echo the path to an installed program.
Arguments:Echo the value of a script option, or a default.
Arguments:Echo the title as defined in the configuration.
Arguments:Echos the version of the script.
Performs an initialization (setup default config, etc.)
You must set up an init command in your core config file.
Then call this function from inside `on_pre_config`, e.g.
[[ "$(get_command)" == "init" ]] && handle_init
...do your extra work here...
exit_with...
You should only call this function if you need to do something additional in
your init step, where you don't want to exit. If not, you should use
exit_with_init, instead.
The translation service is not yet bootstrapped in on_pre_config, so if you
want to alter the strings printed you can do something like this:
if [[ "$(get_command)" == "init" ]]; then
CLOUDY_FAILED="Initialization failed."
CLOUDY_SUCCESS="Initialization complete."
exit_with_init
fi
Determine if the script was called with a command.
Determine if there are any arguments for the script "command".
Determine if any failure reasons have been defined yet.
Determine if the script was called with a given option.
Arguments:Determine if any options were used when calling the script.
Implement cloudy common commands and options.
An optional set of commands for all scripts. This is just the handlers,
you must still set up the commands in the config file as usual.
Determine if code is being run from inside a test.
Test if a program is installed on the system.
Arguments:Echo the JSON string as set
@code
json="$(json_get)"
@endcode
Echo a value by dot-path in the set/loaded JSON.
Arguments:If the path is invalid, an empty string is echoed. Be sure to wrap in double quotes to protect values that contain spaces.
@code
json_set '{"foo":{"bar":"baz et al"}}'
value="$(json_get_value foo.bar)"
@endcode
Load a JSON file to be read by json_get_value.
Arguments:Set a JSON string to be later read by json_get_value().
Arguments:Call this once to put your json string into memory, then make unlimited calls
to json_get_value as necessary. You may check the return code to ensure JSON syntax
is valid. If your string contains single quotes, you will need to escape them.
@code
json_set '{"foo":{"bar":"baz et al"}}'
@endcode
Add an item to the list.
Arguments:echo_list__array
Remove all items from the list.
Detect if the list has any items.
Mark a single test as skipped
Echo the md5 hash of a string.
Arguments:Parses arguments into options, args and option values.
Use this in your my_func function: parse_args "$@"
The following variables are generated for:
@code
my_func -ab --tree=life do re
@endcode
Return the extension of a file.
Return the basename less the extension.
Echo the size of a file.
Arguments:Determine if a path is absolute (begins with /) or not.
Arguments:Echo the last modified time of a file.
Arguments:Echo a path relative to config_path_base.
If the path begins with / it is unchanged.
Make $1 relative if it's inside $PWD.
Arguments:Expand a relative path using $ROOT as base.
If the path begins with / it is unchanged.
Resolve a path to an absolute link; if already absolute, do nothing.
Arguments:Echo a relative path by removing a leading directory(ies).
Arguments:The trailing slash will always be removed. The relative path is returned
without a leading slash. If it cannot be unresolved, any leading slash will
remain. If the two arguments are the same, '.' will be returned.
Echo the lowercase version of a string.
Arguments:Repeat a string N times.
Arguments:Split a string by a delimiter.
Arguments:string_split__string
string_split__array
@code
string_split__string="do
re
mi"
string_split '
' && local words=("${string_split__array[@]}")
@endcode
Echo the string with it's first letter in uppercase.
Arguments:Echo the uppercase version of a string.
Arguments:Add a success reason to be shown on exit.
Arguments:@code
succeed_because "$reason" "Some default if $reason is empty"
@endcode
Send any number of arguments, each is a column value for a single row.
Clear all rows from the table definition.
Determine if the table definition has any rows.
Manually set the column widths
A number for each column. You should call this after adding all rows.
Set the column headers for a table.
Arguments:Echo a temporary directory filepath.
Arguments:If you do not provide $1 then a new temporary directory is created each time
you call tempdir. If you do provide $1 and call tempdir more than once with
the same value for $1, the same directory will be returned each time--a shared
directory within the system's temporary filesystem with the name passed as $1.
It is a common pattern to pass $CLOUDY_NAME as the argument as this will
create a folder based on the name of your script.
Add a failure message to be shown on exit.
Arguments:@code
test_fail_because "$reason" "Some default if $reason is empty"
@endcode
Echo an exception message and exit.
Echo the current local time as hours/minutes with optional seconds.
options -
-s - Include the seconds
Echo the current unix timestamp.
Echo the translation of a message id into $CLOUDY_LANGUAGE.
Arguments:Add a cache-busting timestamp to an URL and echo the new url.
Echo the host portion an URL.
Validate the CLI input arguments and options.
Prompt the user to read a message and press any key to continue.
Arguments:Add a warning message to be shown on success exit; not shown on failure exits.
Arguments:@code
warn_because "$reason" "Some default if $reason is empty"
@endcode
@todo Should this show if a failure exit?
You may include 1 or two arguments; when 2, the first is a log label
Writes a log message using the alert level.
Arguments:Write to the log with level critical.
Arguments:Write to the log with level debug.
Arguments:Log states that should only be thus during development or debugging.
Adds a "... in dev only message to your warning"
@link https://www.php-fig.org/psr/psr-3/
Write to the log with level error.
Arguments:Write to the log with level info.
Arguments:Write to the log with level notice.
Arguments:Write to the log with level warning.
Arguments:Add a line to our YAML data.
Arguments:Empties the YAML string from earlier builds, making ready anew.
Echos the YAML string as YAML.
Echos the YAML string as JSON.
Sets the value of the YAML string.
Arguments:You can use this to convert YAML to JSON:
yaml_set "$yaml"
json=$(yaml_get_json)