|
ACTS
Version 1.0.0
|
BMP280 Sensor Driver Support Header File. More...
Go to the source code of this file.
Classes | |
| struct | bmp280_calib_param_t |
| This structure holds all device specific calibration parameters. More... | |
| struct | bmp280_t |
| This structure holds BMP280 initialization parameters. More... | |
Macros | |
| #define | MACHINE_32_BIT |
| The following definition uses for define the data types. More... | |
| #define | BMP280_64BITSUPPORT_PRESENT |
ENABLE FLOATING OUTPUT | |
| #define | BMP280_ENABLE_FLOAT |
| If the user wants to support floating point calculations, please set the following define. If floating point calculation is not wanted or allowed (e.g. in Linux kernel), please do not set the definition. | |
| #define | BMP280_ENABLE_INT64 |
| If the user wants to support 64 bit integer calculation (needed for optimal pressure accuracy) please set the following definition. If int64 calculation is not wanted (e.g. because it would include large libraries), please do not set the definition. | |
BUS READ AND WRITE FUNCTION POINTERS | |
| #define | BMP280_BUS_WR_RETURN_TYPE s8 |
| Define the calling convention of YOUR bus communication routine. More... | |
| #define | BMP280_BUS_WR_PARAM_TYPES |
| #define | BMP280_BUS_WR_PARAM_ORDER(device_addr, register_addr, register_data, wr_len) |
| #define | BMP280_BUS_WRITE_FUNC(device_addr, register_addr, register_data, wr_len) |
| #define | BMP280_BUS_RD_RETURN_TYPE s8 |
| link macro between API function calls and bus read function More... | |
| #define | BMP280_BUS_RD_PARAM_TYPES |
| #define | BMP280_BUS_RD_PARAM_ORDER |
| #define | BMP280_BUS_READ_FUNC(device_addr, register_addr, register_data, rd_len) |
| #define | BMP280_WR_FUNC_PTR s8 (*bus_write)(u8, u8, u8 *, u8) |
| #define | BMP280_RD_FUNC_PTR s8 (*bus_read)(u8, u8, u8 *, u8) |
| #define | BMP280_MDELAY_DATA_TYPE u32 |
DELAY | |
| #define | BMP280_DELAY_RETURN_TYPE void |
| defines the return parameter type of the BMP280_DELAY_FUNCTION | |
| #define | BMP280_DELAY_PARAM_TYPES u16 |
| defines the calling parameter types of the BMP280_DELAY_FUNCTION | |
GET AND SET BITSLICE FUNCTIONS | |
| #define | BMP280_DELAY_FUNC(delay_in_msec) delay_func(delay_in_msec) |
| #define | BMP280_GET_BITSLICE(regvar, bitname) ((regvar & bitname##__MSK) >> bitname##__POS) |
| #define | BMP280_SET_BITSLICE(regvar, bitname, val) ((regvar & ~bitname##__MSK) | ((val<<bitname##__POS)&bitname##__MSK)) |
COMMON USED CONSTANTS | |
| #define | BMP280_NULL (0) |
| #define | BMP280_RETURN_FUNCTION_TYPE s8 |
| #define | BMP280_SHIFT_BIT_POSITION_BY_01_BIT (1) |
| #define | BMP280_SHIFT_BIT_POSITION_BY_02_BITS (2) |
| #define | BMP280_SHIFT_BIT_POSITION_BY_03_BITS (3) |
| #define | BMP280_SHIFT_BIT_POSITION_BY_04_BITS (4) |
| #define | BMP280_SHIFT_BIT_POSITION_BY_05_BITS (5) |
| #define | BMP280_SHIFT_BIT_POSITION_BY_08_BITS (8) |
| #define | BMP280_SHIFT_BIT_POSITION_BY_11_BITS (11) |
| #define | BMP280_SHIFT_BIT_POSITION_BY_12_BITS (12) |
| #define | BMP280_SHIFT_BIT_POSITION_BY_13_BITS (13) |
| #define | BMP280_SHIFT_BIT_POSITION_BY_14_BITS (14) |
| #define | BMP280_SHIFT_BIT_POSITION_BY_15_BITS (15) |
| #define | BMP280_SHIFT_BIT_POSITION_BY_16_BITS (16) |
| #define | BMP280_SHIFT_BIT_POSITION_BY_17_BITS (17) |
| #define | BMP280_SHIFT_BIT_POSITION_BY_18_BITS (18) |
| #define | BMP280_SHIFT_BIT_POSITION_BY_19_BITS (19) |
| #define | BMP280_SHIFT_BIT_POSITION_BY_25_BITS (25) |
| #define | BMP280_SHIFT_BIT_POSITION_BY_31_BITS (31) |
| #define | BMP280_SHIFT_BIT_POSITION_BY_33_BITS (33) |
| #define | BMP280_SHIFT_BIT_POSITION_BY_35_BITS (35) |
| #define | BMP280_SHIFT_BIT_POSITION_BY_47_BITS (47) |
| #define | BMP280_PRESSURE_TEMPERATURE_CALIB_DATA_LENGTH (24) |
| #define | BMP280_GEN_READ_WRITE_DATA_LENGTH (1) |
| #define | BMP280_REGISTER_READ_DELAY (1) |
| #define | BMP280_TEMPERATURE_DATA_LENGTH (3) |
| #define | BMP280_PRESSURE_DATA_LENGTH (3) |
| #define | BMP280_ALL_DATA_FRAME_LENGTH (6) |
| #define | BMP280_INIT_VALUE (0) |
| #define | BMP280_CHIP_ID_READ_COUNT (5) |
| #define | BMP280_CHIP_ID_READ_SUCCESS (0) |
| #define | BMP280_CHIP_ID_READ_FAIL ((s8)-1) |
| #define | BMP280_INVALID_DATA (0) |
ERROR CODES | |
| #define | SUCCESS_ERR ((u8)0) |
| #define | E_BMP280_NULL_PTR ((s8)-127) |
| #define | E_BMP280_COMM_RES ((s8)-1) |
| #define | E_BMP280_OUT_OF_RANGE ((s8)-2) |
| #define | ERROR ((s8)-1) |
CHIP ID DEFINITION | |
| #define | BMP280_CHIP_ID1 (0x56) |
| #define | BMP280_CHIP_ID2 (0x57) |
| #define | BMP280_CHIP_ID3 (0x58) |
I2C ADDRESS DEFINITION | |
| #define | BMP280_I2C_ADDRESS1 (0x76) |
| #define | BMP280_I2C_ADDRESS2 (0x77) |
POWER MODE DEFINITION | |
| #define | BMP280_SLEEP_MODE (0x00) |
| #define | BMP280_FORCED_MODE (0x01) |
| #define | BMP280_NORMAL_MODE (0x03) |
| #define | BMP280_SOFT_RESET_CODE (0xB6) |
STANDBY TIME DEFINITION | |
| #define | BMP280_STANDBY_TIME_1_MS (0x00) |
| #define | BMP280_STANDBY_TIME_63_MS (0x01) |
| #define | BMP280_STANDBY_TIME_125_MS (0x02) |
| #define | BMP280_STANDBY_TIME_250_MS (0x03) |
| #define | BMP280_STANDBY_TIME_500_MS (0x04) |
| #define | BMP280_STANDBY_TIME_1000_MS (0x05) |
| #define | BMP280_STANDBY_TIME_2000_MS (0x06) |
| #define | BMP280_STANDBY_TIME_4000_MS (0x07) |
OVERSAMPLING DEFINITION | |
| #define | BMP280_OVERSAMP_SKIPPED (0x00) |
| #define | BMP280_OVERSAMP_1X (0x01) |
| #define | BMP280_OVERSAMP_2X (0x02) |
| #define | BMP280_OVERSAMP_4X (0x03) |
| #define | BMP280_OVERSAMP_8X (0x04) |
| #define | BMP280_OVERSAMP_16X (0x05) |
WORKING MODE DEFINITION | |
| #define | BMP280_ULTRA_LOW_POWER_MODE (0x00) |
| #define | BMP280_LOW_POWER_MODE (0x01) |
| #define | BMP280_STANDARD_RESOLUTION_MODE (0x02) |
| #define | BMP280_HIGH_RESOLUTION_MODE (0x03) |
| #define | BMP280_ULTRA_HIGH_RESOLUTION_MODE (0x04) |
| #define | BMP280_ULTRALOWPOWER_OVERSAMP_PRESSURE BMP280_OVERSAMP_1X |
| #define | BMP280_ULTRALOWPOWER_OVERSAMP_TEMPERATURE BMP280_OVERSAMP_1X |
| #define | BMP280_LOWPOWER_OVERSAMP_PRESSURE BMP280_OVERSAMP_2X |
| #define | BMP280_LOWPOWER_OVERSAMP_TEMPERATURE BMP280_OVERSAMP_1X |
| #define | BMP280_STANDARDRESOLUTION_OVERSAMP_PRESSURE BMP280_OVERSAMP_4X |
| #define | BMP280_STANDARDRESOLUTION_OVERSAMP_TEMPERATURE BMP280_OVERSAMP_1X |
| #define | BMP280_HIGHRESOLUTION_OVERSAMP_PRESSURE BMP280_OVERSAMP_8X |
| #define | BMP280_HIGHRESOLUTION_OVERSAMP_TEMPERATURE BMP280_OVERSAMP_1X |
| #define | BMP280_ULTRAHIGHRESOLUTION_OVERSAMP_PRESSURE BMP280_OVERSAMP_16X |
| #define | BMP280_ULTRAHIGHRESOLUTION_OVERSAMP_TEMPERATURE BMP280_OVERSAMP_2X |
FILTER DEFINITION | |
| #define | BMP280_FILTER_COEFF_OFF (0x00) |
| #define | BMP280_FILTER_COEFF_2 (0x01) |
| #define | BMP280_FILTER_COEFF_4 (0x02) |
| #define | BMP280_FILTER_COEFF_8 (0x03) |
| #define | BMP280_FILTER_COEFF_16 (0x04) |
DELAY TIME DEFINITION | |
| #define | T_INIT_MAX (20) |
| #define | T_MEASURE_PER_OSRS_MAX (37) |
| #define | T_SETUP_PRESSURE_MAX (10) |
CALIBRATION PARAMETERS DEFINITION | |
| #define | BMP280_TEMPERATURE_CALIB_DIG_T1_LSB_REG (0x88) |
| #define | BMP280_TEMPERATURE_CALIB_DIG_T1_MSB_REG (0x89) |
| #define | BMP280_TEMPERATURE_CALIB_DIG_T2_LSB_REG (0x8A) |
| #define | BMP280_TEMPERATURE_CALIB_DIG_T2_MSB_REG (0x8B) |
| #define | BMP280_TEMPERATURE_CALIB_DIG_T3_LSB_REG (0x8C) |
| #define | BMP280_TEMPERATURE_CALIB_DIG_T3_MSB_REG (0x8D) |
| #define | BMP280_PRESSURE_CALIB_DIG_P1_LSB_REG (0x8E) |
| #define | BMP280_PRESSURE_CALIB_DIG_P1_MSB_REG (0x8F) |
| #define | BMP280_PRESSURE_CALIB_DIG_P2_LSB_REG (0x90) |
| #define | BMP280_PRESSURE_CALIB_DIG_P2_MSB_REG (0x91) |
| #define | BMP280_PRESSURE_CALIB_DIG_P3_LSB_REG (0x92) |
| #define | BMP280_PRESSURE_CALIB_DIG_P3_MSB_REG (0x93) |
| #define | BMP280_PRESSURE_CALIB_DIG_P4_LSB_REG (0x94) |
| #define | BMP280_PRESSURE_CALIB_DIG_P4_MSB_REG (0x95) |
| #define | BMP280_PRESSURE_CALIB_DIG_P5_LSB_REG (0x96) |
| #define | BMP280_PRESSURE_CALIB_DIG_P5_MSB_REG (0x97) |
| #define | BMP280_PRESSURE_CALIB_DIG_P6_LSB_REG (0x98) |
| #define | BMP280_PRESSURE_CALIB_DIG_P6_MSB_REG (0x99) |
| #define | BMP280_PRESSURE_CALIB_DIG_P7_LSB_REG (0x9A) |
| #define | BMP280_PRESSURE_CALIB_DIG_P7_MSB_REG (0x9B) |
| #define | BMP280_PRESSURE_CALIB_DIG_P8_LSB_REG (0x9C) |
| #define | BMP280_PRESSURE_CALIB_DIG_P8_MSB_REG (0x9D) |
| #define | BMP280_PRESSURE_CALIB_DIG_P9_LSB_REG (0x9E) |
| #define | BMP280_PRESSURE_CALIB_DIG_P9_MSB_REG (0x9F) |
REGISTER ADDRESS DEFINITION | |
| #define | BMP280_CHIP_ID_REG (0xD0) /*Chip ID Register */ |
| #define | BMP280_RST_REG (0xE0) /*Softreset Register */ |
| #define | BMP280_STAT_REG (0xF3) /*Status Register */ |
| #define | BMP280_CTRL_MEAS_REG (0xF4) /*Ctrl Measure Register */ |
| #define | BMP280_CONFIG_REG (0xF5) /*Configuration Register */ |
| #define | BMP280_PRESSURE_MSB_REG (0xF7) /*Pressure MSB Register */ |
| #define | BMP280_PRESSURE_LSB_REG (0xF8) /*Pressure LSB Register */ |
| #define | BMP280_PRESSURE_XLSB_REG (0xF9) /*Pressure XLSB Register */ |
| #define | BMP280_TEMPERATURE_MSB_REG (0xFA) /*Temperature MSB Reg */ |
| #define | BMP280_TEMPERATURE_LSB_REG (0xFB) /*Temperature LSB Reg */ |
| #define | BMP280_TEMPERATURE_XLSB_REG (0xFC) /*Temperature XLSB Reg */ |
BIT LENGTH,POSITION AND MASK DEFINITION | |
FOR PRESSURE AND TEMPERATURE DATA REGISTERS | |
| #define | BMP280_STATUS_REG_MEASURING__POS (3) |
| #define | BMP280_STATUS_REG_MEASURING__MSK (0x08) |
| #define | BMP280_STATUS_REG_MEASURING__LEN (1) |
| #define | BMP280_STATUS_REG_MEASURING__REG (BMP280_STAT_REG) |
| #define | BMP280_STATUS_REG_IM_UPDATE__POS (0) |
| #define | BMP280_STATUS_REG_IM_UPDATE__MSK (0x01) |
| #define | BMP280_STATUS_REG_IM_UPDATE__LEN (1) |
| #define | BMP280_STATUS_REG_IM_UPDATE__REG (BMP280_STAT_REG) |
| #define | BMP280_CTRL_MEAS_REG_OVERSAMP_TEMPERATURE__POS (5) |
| #define | BMP280_CTRL_MEAS_REG_OVERSAMP_TEMPERATURE__MSK (0xE0) |
| #define | BMP280_CTRL_MEAS_REG_OVERSAMP_TEMPERATURE__LEN (3) |
| #define | BMP280_CTRL_MEAS_REG_OVERSAMP_TEMPERATURE__REG (BMP280_CTRL_MEAS_REG) |
| #define | BMP280_CTRL_MEAS_REG_OVERSAMP_PRESSURE__POS (2) |
| #define | BMP280_CTRL_MEAS_REG_OVERSAMP_PRESSURE__MSK (0x1C) |
| #define | BMP280_CTRL_MEAS_REG_OVERSAMP_PRESSURE__LEN (3) |
| #define | BMP280_CTRL_MEAS_REG_OVERSAMP_PRESSURE__REG (BMP280_CTRL_MEAS_REG) |
| #define | BMP280_CTRL_MEAS_REG_POWER_MODE__POS (0) |
| #define | BMP280_CTRL_MEAS_REG_POWER_MODE__MSK (0x03) |
| #define | BMP280_CTRL_MEAS_REG_POWER_MODE__LEN (2) |
| #define | BMP280_CTRL_MEAS_REG_POWER_MODE__REG (BMP280_CTRL_MEAS_REG) |
| #define | BMP280_CONFIG_REG_STANDBY_DURN__POS (5) |
| #define | BMP280_CONFIG_REG_STANDBY_DURN__MSK (0xE0) |
| #define | BMP280_CONFIG_REG_STANDBY_DURN__LEN (3) |
| #define | BMP280_CONFIG_REG_STANDBY_DURN__REG (BMP280_CONFIG_REG) |
| #define | BMP280_CONFIG_REG_FILTER__POS (2) |
| #define | BMP280_CONFIG_REG_FILTER__MSK (0x1C) |
| #define | BMP280_CONFIG_REG_FILTER__LEN (3) |
| #define | BMP280_CONFIG_REG_FILTER__REG (BMP280_CONFIG_REG) |
| #define | BMP280_CONFIG_REG_SPI3_ENABLE__POS (0) |
| #define | BMP280_CONFIG_REG_SPI3_ENABLE__MSK (0x01) |
| #define | BMP280_CONFIG_REG_SPI3_ENABLE__LEN (1) |
| #define | BMP280_CONFIG_REG_SPI3_ENABLE__REG (BMP280_CONFIG_REG) |
| #define | BMP280_PRESSURE_XLSB_REG_DATA__POS (4) |
| #define | BMP280_PRESSURE_XLSB_REG_DATA__MSK (0xF0) |
| #define | BMP280_PRESSURE_XLSB_REG_DATA__LEN (4) |
| #define | BMP280_PRESSURE_XLSB_REG_DATA__REG (BMP280_PRESSURE_XLSB_REG) |
| #define | BMP280_TEMPERATURE_XLSB_REG_DATA__POS (4) |
| #define | BMP280_TEMPERATURE_XLSB_REG_DATA__MSK (0xF0) |
| #define | BMP280_TEMPERATURE_XLSB_REG_DATA__LEN (4) |
| #define | BMP280_TEMPERATURE_XLSB_REG_DATA__REG (BMP280_TEMPERATURE_XLSB_REG) |
DEFINITIONS FOR ARRAY SIZE OF DATA | |
| #define | BMP280_TEMPERATURE_DATA_SIZE (3) |
| #define | BMP280_PRESSURE_DATA_SIZE (3) |
| #define | BMP280_DATA_FRAME_SIZE (6) |
| #define | BMP280_CALIB_DATA_SIZE (24) |
| #define | BMP280_TEMPERATURE_MSB_DATA (0) |
| #define | BMP280_TEMPERATURE_LSB_DATA (1) |
| #define | BMP280_TEMPERATURE_XLSB_DATA (2) |
| #define | BMP280_PRESSURE_MSB_DATA (0) |
| #define | BMP280_PRESSURE_LSB_DATA (1) |
| #define | BMP280_PRESSURE_XLSB_DATA (2) |
| #define | BMP280_DATA_FRAME_PRESSURE_MSB_BYTE (0) |
| #define | BMP280_DATA_FRAME_PRESSURE_LSB_BYTE (1) |
| #define | BMP280_DATA_FRAME_PRESSURE_XLSB_BYTE (2) |
| #define | BMP280_DATA_FRAME_TEMPERATURE_MSB_BYTE (3) |
| #define | BMP280_DATA_FRAME_TEMPERATURE_LSB_BYTE (4) |
| #define | BMP280_DATA_FRAME_TEMPERATURE_XLSB_BYTE (5) |
ARRAY PARAMETER FOR CALIBRATION | |
| #define | BMP280_TEMPERATURE_CALIB_DIG_T1_LSB (0) |
| #define | BMP280_TEMPERATURE_CALIB_DIG_T1_MSB (1) |
| #define | BMP280_TEMPERATURE_CALIB_DIG_T2_LSB (2) |
| #define | BMP280_TEMPERATURE_CALIB_DIG_T2_MSB (3) |
| #define | BMP280_TEMPERATURE_CALIB_DIG_T3_LSB (4) |
| #define | BMP280_TEMPERATURE_CALIB_DIG_T3_MSB (5) |
| #define | BMP280_PRESSURE_CALIB_DIG_P1_LSB (6) |
| #define | BMP280_PRESSURE_CALIB_DIG_P1_MSB (7) |
| #define | BMP280_PRESSURE_CALIB_DIG_P2_LSB (8) |
| #define | BMP280_PRESSURE_CALIB_DIG_P2_MSB (9) |
| #define | BMP280_PRESSURE_CALIB_DIG_P3_LSB (10) |
| #define | BMP280_PRESSURE_CALIB_DIG_P3_MSB (11) |
| #define | BMP280_PRESSURE_CALIB_DIG_P4_LSB (12) |
| #define | BMP280_PRESSURE_CALIB_DIG_P4_MSB (13) |
| #define | BMP280_PRESSURE_CALIB_DIG_P5_LSB (14) |
| #define | BMP280_PRESSURE_CALIB_DIG_P5_MSB (15) |
| #define | BMP280_PRESSURE_CALIB_DIG_P6_LSB (16) |
| #define | BMP280_PRESSURE_CALIB_DIG_P6_MSB (17) |
| #define | BMP280_PRESSURE_CALIB_DIG_P7_LSB (18) |
| #define | BMP280_PRESSURE_CALIB_DIG_P7_MSB (19) |
| #define | BMP280_PRESSURE_CALIB_DIG_P8_LSB (20) |
| #define | BMP280_PRESSURE_CALIB_DIG_P8_MSB (21) |
| #define | BMP280_PRESSURE_CALIB_DIG_P9_LSB (22) |
| #define | BMP280_PRESSURE_CALIB_DIG_P9_MSB (23) |
Typedefs | |
| typedef signed char | s8 |
| typedef signed short int | s16 |
| typedef signed long | s32 |
| typedef signed long long int | s64 |
| typedef unsigned char | u8 |
| typedef unsigned short int | u16 |
| typedef unsigned long | u32 |
| typedef unsigned long long int | u64 |
Functions | |
FUNCTION FOR INTIALIZATION | |
| BMP280_RETURN_FUNCTION_TYPE | bmp280_init (struct bmp280_t *bmp280) |
| This function is used for initialize the bus read and bus write functions and assign the chip id and I2C address of the BMP280 sensor chip id is read in the register 0xD0 bit from 0 to 7. More... | |
FUNCTION FOR READ UNCOMPENSATED TEMPERATURE | |
| BMP280_RETURN_FUNCTION_TYPE | bmp280_read_uncomp_temperature (s32 *v_uncomp_temperature_s32) |
| This API is used to read uncompensated temperature in the registers 0xFA, 0xFB and 0xFC. More... | |
FUNCTION FOR READ TRUE TEMPERATURE S32 OUTPUT | |
| s32 | bmp280_compensate_temperature_int32 (s32 v_uncomp_temperature_s32) |
| Reads actual temperature from uncompensated temperature. More... | |
FUNCTION FOR READ UNCOMPENSATED PRESSURE | |
| BMP280_RETURN_FUNCTION_TYPE | bmp280_read_uncomp_pressure (s32 *v_uncomp_pressure_s32) |
| This API is used to read uncompensated pressure. in the registers 0xF7, 0xF8 and 0xF9. More... | |
FUNCTION FOR READ TRUE PRESSURE S32 OUTPUT | |
| u32 | bmp280_compensate_pressure_int32 (s32 v_uncomp_pressure_s32) |
| Reads actual pressure from uncompensated pressure and returns the value in Pascal(Pa) More... | |
FUNCTION FOR READ UNCOMPENSATED TEMPERATURE AND PRESSURE | |
| BMP280_RETURN_FUNCTION_TYPE | bmp280_read_uncomp_pressure_temperature (s32 *v_uncomp_pressure_s32, s32 *v_uncomp_temperature_s32) |
| reads uncompensated pressure and temperature More... | |
FUNCTION FOR READ TRUE TEMPERATURE AND PRESSURE | |
| BMP280_RETURN_FUNCTION_TYPE | bmp280_read_pressure_temperature (u32 *v_pressure_u32, s32 *v_pressure_s32) |
| This API reads the true pressure and temperature. More... | |
FUNCTION FOR READ CALIBRATION DATA | |
| BMP280_RETURN_FUNCTION_TYPE | bmp280_get_calib_param (void) |
| This API is used to calibration parameters used for calculation in the registers. More... | |
FUNCTION FOR OVERSAMPLING TEMPERATURE AND PRESSURE | |
| BMP280_RETURN_FUNCTION_TYPE | bmp280_get_oversamp_temperature (u8 *v_value_u8) |
| This API is used to get the temperature oversampling setting in the register 0xF4 bits from 5 to 7. More... | |
| BMP280_RETURN_FUNCTION_TYPE | bmp280_set_oversamp_temperature (u8 v_value_u8) |
| This API is used to set the temperature oversampling setting in the register 0xF4 bits from 5 to 7. More... | |
| BMP280_RETURN_FUNCTION_TYPE | bmp280_get_oversamp_pressure (u8 *v_value_u8) |
| This API is used to get the pressure oversampling setting in the register 0xF4 bits from 2 to 4. More... | |
| BMP280_RETURN_FUNCTION_TYPE | bmp280_set_oversamp_pressure (u8 v_value_u8) |
| This API is used to set the pressure oversampling setting in the register 0xF4 bits from 2 to 4. More... | |
FUNCTION FOR POWER MODE | |
| BMP280_RETURN_FUNCTION_TYPE | bmp280_get_power_mode (u8 *v_power_mode_u8) |
| This API used to get the Operational Mode from the sensor in the register 0xF4 bit 0 and 1. More... | |
| BMP280_RETURN_FUNCTION_TYPE | bmp280_set_power_mode (u8 v_power_mode_u8) |
| This API used to set the Operational Mode from the sensor in the register 0xF4 bit 0 and 1. More... | |
FUNCTION FOR SOFT RESET | |
| BMP280_RETURN_FUNCTION_TYPE | bmp280_set_soft_rst (void) |
| Used to reset the sensor The value 0xB6 is written to the 0xE0 register the device is reset using the complete power-on-reset procedure. Soft reset can be easily set using bmp280_set_softreset(). More... | |
FUNCTION FOR SPI ENABLE | |
| BMP280_RETURN_FUNCTION_TYPE | bmp280_get_spi3 (u8 *v_enable_disable_u8) |
| This API used to get the sensor SPI mode(communication type) in the register 0xF5 bit 0. More... | |
| BMP280_RETURN_FUNCTION_TYPE | bmp280_set_spi3 (u8 v_enable_disable_u8) |
| This API used to set the sensor SPI mode(communication type) in the register 0xF5 bit 0. More... | |
FUNCTION FOR IIR FILTER SETTING | |
| BMP280_RETURN_FUNCTION_TYPE | bmp280_get_filter (u8 *v_value_u8) |
| This API is used to reads filter setting in the register 0xF5 bit 3 and 4. More... | |
| BMP280_RETURN_FUNCTION_TYPE | bmp280_set_filter (u8 v_value_u8) |
| This API is used to write filter setting in the register 0xF5 bit 3 and 4. More... | |
FUNCTION FOR STANDBY DURATION | |
| BMP280_RETURN_FUNCTION_TYPE | bmp280_get_standby_durn (u8 *v_standby_durn_u8) |
| This API used to Read the standby duration time from the sensor in the register 0xF5 bit 5 to 7. More... | |
| BMP280_RETURN_FUNCTION_TYPE | bmp280_set_standby_durn (u8 v_standby_durn_u8) |
| This API used to Read the standby duration time from the sensor in the register 0xF5 bit 5 to 7. More... | |
FUNCTION FOR WORK MODE | |
| BMP280_RETURN_FUNCTION_TYPE | bmp280_set_work_mode (u8 v_work_mode_u8) |
| This API is used to write the working mode of the sensor. More... | |
FUNCTION FOR FORCE MODE READING | |
| BMP280_RETURN_FUNCTION_TYPE | bmp280_get_forced_uncomp_pressure_temperature (s32 *v_uncomp_pressure_s32, s32 *v_uncomp_temperature_s32) |
| This API used to read both uncompensated pressure and temperature in forced mode. More... | |
FUNCTION FOR COMMON READ AND WRITE | |
| BMP280_RETURN_FUNCTION_TYPE | bmp280_write_register (u8 v_addr_u8, u8 *v_data_u8, u8 v_len_u8) |
| This API write the data to the given register. More... | |
| BMP280_RETURN_FUNCTION_TYPE | bmp280_read_register (u8 v_addr_u8, u8 *v_data_u8, u8 v_len_u8) |
| This API reads the data from the given register. More... | |
FUNCTION FOR TRUE TEMPERATURE CALCULATION | |
| double | bmp280_compensate_temperature_double (s32 v_uncomp_temperature_s32) |
| This API used to read actual temperature from uncompensated temperature. More... | |
FUNCTION FOR TRUE PRESSURE CALCULATION | |
| double | bmp280_compensate_pressure_double (s32 v_uncomp_pressure_s32) |
| Reads actual pressure from uncompensated pressure and returns pressure in Pa as double. More... | |
| u32 | bmp280_compensate_pressure_int64 (s32 v_uncomp_pressure_s32) |
| This API used to read actual pressure from uncompensated pressure. More... | |
FUNCTION FOR DELAY CALCULATION DURING FORCEMODE | |
| BMP280_RETURN_FUNCTION_TYPE | bmp280_compute_wait_time (u8 *v_delaytime_u8r) |
| Computing waiting time for sensor data read. More... | |
BMP280 Sensor Driver Support Header File.
| #define BMP280_BUS_RD_PARAM_ORDER |
| #define BMP280_BUS_RD_PARAM_TYPES |
| #define BMP280_BUS_RD_RETURN_TYPE s8 |
link macro between API function calls and bus read function
If the bus_read parameter calling order is like: reg_addr, reg_data, wr_len it would be as it is here.
If the parameters are differently ordered or your communication function like I2C need to know the device address, you can change this macro accordingly.
BMP280_BUS_READ_FUNC(dev_addr, reg_addr, reg_data, wr_len)\ bus_read(dev_addr, reg_addr, reg_data, wr_len)
This macro lets all API functions call YOUR communication routine in a way that equals your definition in the refer BMP280_WR_FUNC_PTR definition.
| #define BMP280_BUS_READ_FUNC | ( | device_addr, | |
| register_addr, | |||
| register_data, | |||
| rd_len | |||
| ) |
| #define BMP280_BUS_WR_RETURN_TYPE s8 |
Define the calling convention of YOUR bus communication routine.
If your communication function looks like this:
write_my_bus_xy(u8 device_addr, u8 register_addr, u8 * data, u8 length);
The BMP280_WR_FUNC_PTR would equal:
BMP280_WR_FUNC_PTR s8 (* bus_write)(u8, u8, u8 *, u8)
Parameters can be mixed as needed refer to the refer BMP280_BUS_WRITE_FUNC macro.
| #define BMP280_BUS_WRITE_FUNC | ( | device_addr, | |
| register_addr, | |||
| register_data, | |||
| wr_len | |||
| ) |
| #define MACHINE_32_BIT |
The following definition uses for define the data types.
For the Linux platform support Please use the types.h for your data types definitions
By default it is defined as 32 bit machine configuration define your data types based on your machine/compiler/controller configuration
| typedef signed short int s16 |
used for signed 16bit
| typedef signed long s32 |
used for signed 32bit
| typedef signed long long int s64 |
used for signed 64bit
| typedef signed char s8 |
used for signed 8bit
| typedef unsigned short int u16 |
used for unsigned 16bit
| typedef unsigned long u32 |
used for unsigned 32bit
| typedef unsigned long long int u64 |
used for unsigned 64bit
| typedef unsigned char u8 |
used for unsigned 8bit
| double bmp280_compensate_pressure_double | ( | s32 | v_uncomp_pressure_s32 | ) |
Reads actual pressure from uncompensated pressure and returns pressure in Pa as double.
| v_uncomp_pressure_s32 | : value of uncompensated pressure |
Reads actual pressure from uncompensated pressure and returns the value in Pascal(Pa)
| v_uncomp_pressure_s32 | value of uncompensated pressure |
This API used to read actual pressure from uncompensated pressure.
| v_uncomp_pressure_s32 | : value of uncompensated pressure |
| double bmp280_compensate_temperature_double | ( | s32 | v_uncomp_temperature_s32 | ) |
This API used to read actual temperature from uncompensated temperature.
| v_uncomp_temperature_s32 | : value of uncompensated temperature |
Reads actual temperature from uncompensated temperature.
| v_uncomp_temperature_s32 | : value of uncompensated temperature |
| BMP280_RETURN_FUNCTION_TYPE bmp280_compute_wait_time | ( | u8 * | v_delaytime_u8r | ) |
Computing waiting time for sensor data read.
| v_delaytime_u8r | The value of delay time |
| BMP280_RETURN_FUNCTION_TYPE bmp280_get_calib_param | ( | void | ) |
This API is used to calibration parameters used for calculation in the registers.
| parameter | Register address | bit |
|---|---|---|
| dig_T1 | 0x88 and 0x89 | from 0 : 7 to 8: 15 |
| dig_T2 | 0x8A and 0x8B | from 0 : 7 to 8: 15 |
| dig_T3 | 0x8C and 0x8D | from 0 : 7 to 8: 15 |
| dig_P1 | 0x8E and 0x8F | from 0 : 7 to 8: 15 |
| dig_P2 | 0x90 and 0x91 | from 0 : 7 to 8: 15 |
| dig_P3 | 0x92 and 0x93 | from 0 : 7 to 8: 15 |
| dig_P4 | 0x94 and 0x95 | from 0 : 7 to 8: 15 |
| dig_P5 | 0x96 and 0x97 | from 0 : 7 to 8: 15 |
| dig_P6 | 0x98 and 0x99 | from 0 : 7 to 8: 15 |
| dig_P7 | 0x9A and 0x9B | from 0 : 7 to 8: 15 |
| dig_P8 | 0x9C and 0x9D | from 0 : 7 to 8: 15 |
| dig_P9 | 0x9E and 0x9F | from 0 : 7 to 8: 15 |
| 0 | -> Success |
| -1 | -> Error |
| BMP280_RETURN_FUNCTION_TYPE bmp280_get_filter | ( | u8 * | v_value_u8 | ) |
This API is used to reads filter setting in the register 0xF5 bit 3 and 4.
| v_value_u8 | : The value of filter coefficient
|
| 0 | -> Success |
| -1 | -> Error |
| BMP280_RETURN_FUNCTION_TYPE bmp280_get_forced_uncomp_pressure_temperature | ( | s32 * | v_uncomp_pressure_s32, |
| s32 * | v_uncomp_temperature_s32 | ||
| ) |
This API used to read both uncompensated pressure and temperature in forced mode.
| v_uncomp_pressure_s32 | The value of uncompensated pressure. |
| v_uncomp_temperature_s32 | The value of uncompensated temperature |
| 0 | -> Success |
| -1 | -> Error |
| BMP280_RETURN_FUNCTION_TYPE bmp280_get_oversamp_pressure | ( | u8 * | v_value_u8 | ) |
This API is used to get the pressure oversampling setting in the register 0xF4 bits from 2 to 4.
| value | Pressure oversampling |
|---|---|
| 0x00 | BMP280_OVERSAMP_SKIPPED |
| 0x01 | BMP280_OVERSAMP_1X |
| 0x02 | BMP280_OVERSAMP_2X |
| 0x03 | BMP280_OVERSAMP_4X |
| 0x04 | BMP280_OVERSAMP_8X |
| 0x05,0x06 and 0x07 | BMP280_OVERSAMP_16X |
| v_value_u8 | : The value of pressure over sampling |
| 0 | -> Success |
| -1 | -> Error |
| BMP280_RETURN_FUNCTION_TYPE bmp280_get_oversamp_temperature | ( | u8 * | v_value_u8 | ) |
This API is used to get the temperature oversampling setting in the register 0xF4 bits from 5 to 7.
| value | Temperature oversampling |
|---|---|
| 0x00 | BMP280_OVERSAMP_SKIPPED |
| 0x01 | BMP280_OVERSAMP_1X |
| 0x02 | BMP280_OVERSAMP_2X |
| 0x03 | BMP280_OVERSAMP_4X |
| 0x04 | BMP280_OVERSAMP_8X |
| 0x05,0x06 and 0x07 | BMP280_OVERSAMP_16X |
| v_value_u8 | :The value of temperature over sampling |
| 0 | -> Success |
| -1 | -> Error |
| BMP280_RETURN_FUNCTION_TYPE bmp280_get_power_mode | ( | u8 * | v_power_mode_u8 | ) |
This API used to get the Operational Mode from the sensor in the register 0xF4 bit 0 and 1.
| v_power_mode_u8 | : The value of power mode value
|
| 0 | -> Success |
| -1 | -> Error |
| BMP280_RETURN_FUNCTION_TYPE bmp280_get_spi3 | ( | u8 * | v_enable_disable_u8 | ) |
This API used to get the sensor SPI mode(communication type) in the register 0xF5 bit 0.
| v_enable_disable_u8 | : The spi3 enable or disable state
|
| 0 | -> Success |
| -1 | -> Error |
| BMP280_RETURN_FUNCTION_TYPE bmp280_get_standby_durn | ( | u8 * | v_standby_durn_u8 | ) |
This API used to Read the standby duration time from the sensor in the register 0xF5 bit 5 to 7.
| v_standby_durn_u8 | : The standby duration time value.
|
| 0 | -> Success |
| -1 | -> Error |
| BMP280_RETURN_FUNCTION_TYPE bmp280_init | ( | struct bmp280_t * | bmp280 | ) |
This function is used for initialize the bus read and bus write functions and assign the chip id and I2C address of the BMP280 sensor chip id is read in the register 0xD0 bit from 0 to 7.
| *bmp280 | structure pointer. |
| 0 | -> Success |
| -1 | -> Error |
| BMP280_RETURN_FUNCTION_TYPE bmp280_read_pressure_temperature | ( | u32 * | v_pressure_u32, |
| s32 * | v_temperature_s32 | ||
| ) |
This API reads the true pressure and temperature.
| v_pressure_u32 | : The value of compensated pressure. |
| v_temperature_s32 | : The value of compensated temperature. |
| 0 | -> Success |
| -1 | -> Error |
This API reads the data from the given register.
| v_addr_u8 | -> Address of the register |
| v_data_u8 | -> The data from the register |
| v_len_u8 | -> no of bytes to read |
| 0 | -> Success |
| -1 | -> Error |
| BMP280_RETURN_FUNCTION_TYPE bmp280_read_uncomp_pressure | ( | s32 * | v_uncomp_pressure_s32 | ) |
This API is used to read uncompensated pressure. in the registers 0xF7, 0xF8 and 0xF9.
| v_uncomp_pressure_s32 | : The value of uncompensated pressure |
| 0 | -> Success |
| -1 | -> Error |
| BMP280_RETURN_FUNCTION_TYPE bmp280_read_uncomp_pressure_temperature | ( | s32 * | v_uncomp_pressure_s32, |
| s32 * | v_uncomp_temperature_s32 | ||
| ) |
reads uncompensated pressure and temperature
| v_uncomp_pressure_s32 | The value of uncompensated pressure. |
| v_uncomp_temperature_s32 | The value of uncompensated temperature. |
| 0 | -> Success |
| -1 | -> Error |
| BMP280_RETURN_FUNCTION_TYPE bmp280_read_uncomp_temperature | ( | s32 * | v_uncomp_temperature_s32 | ) |
This API is used to read uncompensated temperature in the registers 0xFA, 0xFB and 0xFC.
| v_uncomp_temperature_s32 | : The uncompensated temperature. |
| 0 | -> Success |
| -1 | -> Error |
| BMP280_RETURN_FUNCTION_TYPE bmp280_set_filter | ( | u8 | v_value_u8 | ) |
This API is used to write filter setting in the register 0xF5 bit 3 and 4.
| v_value_u8 | : The value of filter coefficient
|
| 0 | -> Success |
| -1 | -> Error |
| BMP280_RETURN_FUNCTION_TYPE bmp280_set_oversamp_pressure | ( | u8 | v_value_u8 | ) |
This API is used to set the pressure oversampling setting in the register 0xF4 bits from 2 to 4.
| value | Pressure oversampling |
|---|---|
| 0x00 | BMP280_OVERSAMP_SKIPPED |
| 0x01 | BMP280_OVERSAMP_1X |
| 0x02 | BMP280_OVERSAMP_2X |
| 0x03 | BMP280_OVERSAMP_4X |
| 0x04 | BMP280_OVERSAMP_8X |
| 0x05,0x06 and 0x07 | BMP280_OVERSAMP_16X |
| v_value_u8 | : The value of pressure over sampling |
| 0 | -> Success |
| -1 | -> Error |
| BMP280_RETURN_FUNCTION_TYPE bmp280_set_oversamp_temperature | ( | u8 | v_value_u8 | ) |
This API is used to set the temperature oversampling setting in the register 0xF4 bits from 5 to 7.
| value | Temperature oversampling |
|---|---|
| 0x00 | BMP280_OVERSAMP_SKIPPED |
| 0x01 | BMP280_OVERSAMP_1X |
| 0x02 | BMP280_OVERSAMP_2X |
| 0x03 | BMP280_OVERSAMP_4X |
| 0x04 | BMP280_OVERSAMP_8X |
| 0x05,0x06 and 0x07 | BMP280_OVERSAMP_16X |
| v_value_u8 | :The value of temperature over sampling |
| 0 | -> Success |
| -1 | -> Error |
| BMP280_RETURN_FUNCTION_TYPE bmp280_set_power_mode | ( | u8 | v_power_mode_u8 | ) |
This API used to set the Operational Mode from the sensor in the register 0xF4 bit 0 and 1.
| v_power_mode_u8 | : The value of power mode value
|
| 0 | -> Success |
| -1 | -> Error |
| BMP280_RETURN_FUNCTION_TYPE bmp280_set_soft_rst | ( | void | ) |
Used to reset the sensor The value 0xB6 is written to the 0xE0 register the device is reset using the complete power-on-reset procedure. Soft reset can be easily set using bmp280_set_softreset().
| 0 | -> Success |
| -1 | -> Error |
| BMP280_RETURN_FUNCTION_TYPE bmp280_set_spi3 | ( | u8 | v_enable_disable_u8 | ) |
This API used to set the sensor SPI mode(communication type) in the register 0xF5 bit 0.
| v_enable_disable_u8 | : The spi3 enable or disable state
|
| 0 | -> Success |
| -1 | -> Error |
| BMP280_RETURN_FUNCTION_TYPE bmp280_set_standby_durn | ( | u8 | v_standby_durn_u8 | ) |
This API used to Read the standby duration time from the sensor in the register 0xF5 bit 5 to 7.
| v_standby_durn_u8 | : The standby duration time value.
|
| 0 | -> Success |
| -1 | -> Error |
| BMP280_RETURN_FUNCTION_TYPE bmp280_set_work_mode | ( | u8 | v_work_mode_u8 | ) |
This API is used to write the working mode of the sensor.
| v_work_mode_u8 | : The value of work mode
|
| 0 | -> Success |
| -1 | -> Error |
This API write the data to the given register.
| v_addr_u8 | -> Address of the register |
| v_data_u8 | -> The data from the register |
| v_len_u8 | -> no of bytes to read |
| 0 | -> Success |
| -1 | -> Error |


Big City Big Question is a campaign that seeks to penetrate the superficial dialogue taking place in Toronto. We want to discover the depths of people's thoughts, hear their opinions, and discuss the bigger questions about life that are being asked.
Date: Saturday, November 21
Time: 12:00PM
Location:
Rainbow Cinema Market Square
80 Front St E, Toronto, ON
Toronto is by far the busiest city in Canada. It is the most multicultural city in the world, with people of different ethnicities, socioeconomic backgrounds, career goals, and religious beliefs. Unfortunately, the busy city lifestyle and our rigid schedules can often distract us from giving attention to the things that make life truly meaningful.
This campaign seeks to penetrate the superficial dialogue taking place in Toronto. What is the taxi driver’s biggest fear? What are the ambitions of your co-workers? What is the person on the street corner passionate about? These are the questions we hope to ask and further investigate. Follow us as we explore the streets of Toronto and discover the questions that fill the minds of people in this city.
Behind the scenes
If you were alone in a room with god, What is the one question you would ask him if you could?
If you were in the place of God, what is one thing you would change in the world?


Fetching parcel items please wait...
sorry no such results.
Something went wrong try to refresh the page...


Some content...
"Shows how buttons can be prepended to window using native functionality.
Three variants are demonstrated, each with slightly different config.


Administration of the Grader Project
This directory contains administrative files for the Grader project. Templates for the administrative files are in the CSC 308
handouts directory.
README - General Project Information
Final Project Work Breakdown (CPE 309 Only)
Node Grader's Acceptance tests for Milestone 5 Submission
How to see the unit test results for Milestone 5 Submission
How to see the live demo of our Milestone 5 Submission
Node Team's Peer Code Review for Milestone 5 Submission
Milestone 4 Duties and Detailed Explanations of each component
Milestone 3 Duties and Detailed Explanations of the Prototypes
Milestone 2 Duties and Detailed Explanations of the Prototypes
Project Summary
Project group governance
308 Project work breakdown, for each team member
Inspection testing duty roster
Project meeting agendas
Project meeting minutes
SCOs
Back to Project Main


--- title: "Seven Incredible Facts About The Human Body" featimg: "http://www.viralthread.com/wp-content/uploads/2015/11/wtwetwet.jpg" description: "" categories: articleurl: "http://www.viralthread.com/seven-incredible-facts-about-the-human-body/" ---
The human body is a truly incredible and wonderful piece of equipment. Despite spending hours and hours in biology class learning about how we all work and move, there are literally so many things I’ll never come remotely close to understanding.
I was never a science person at school, so now my knowledge of human body extends to the injuries I’ve drunkenly inflicted on myself over the years – but I digress…
Here are seven incredible facts about the human body that you definitely didn’t know.
1. The human stomach contains a digestive acid that is so strong it can even melt zinc
2. A man can produce 10 million new sperm cells each day from his testicles which is enough to repopulate the entire planet in just 6 months
3. Our lugs have more than 300,000 minute blood vessels, if we laid out those vessels we could have a total length of 1,500 miles
4. In our lifetime our body produce enough saliva that can fill two Olympic size swimming pools
5. In just 30 minutes our body makes enough heat to boil four pints of water
6. The human heart generates its own electrical pulse, so if we remove it from our body, it will continue to beat for a limited span of time
7.  Ok, maybe I won’t bring them out at a party, but the next time my sister mentions anything to do with the human body, I’m going to lay the biology smack down.


The NVIDIA Linux driver supports the retpoline Spectre V2 mitigation technique as identified by: https://software.intel.com/security-software-guidance/api-app/sites/default/files/Retpoline-A-Branch-Target-Injection-Mitigation.pdf
For Linux systems that define CONFIG_RETPOLINE, the NVIDIA driver yields to the kernel's implementation of Spectre V2 mitigation. When CONFIG_RETPOLINE is not defined, the NVIDIA Linux driver implements the retpoline thunk without the Spectre V2 mitigation.
Linux kernels that implement retpoline based Spectre V2 mitigation provide a kernel boot flag to enable or disable the feature. When enabled, users may notice a performance degradation. In order to recover performance, the user can disable the feature using the spectre_v2 boot flag (unsafe).
spectre_v2=off


Full configurable spreadsheet view user interfaces for iOS applications. With this framework, you can easily create complex layouts like schedule, Gantt chart, timetable as if you are using Excel.
Features
- [x] Fixed column and row headers
- [x] Merge cells
- [x] Circular infinite scrolling automatically
- [x] Customize gridlines and borders for each cell
- [x] Customize inter cell spacing vertically and horizontally
- [x] Fast scrolling, memory efficient
- [x]
UICollectionView
like API - [x] Well unit tested
Find the above displayed examples in the Examples
folder.
Requirements
SpreadsheetView is written in Swift 3. Compatible with iOS 8.0+
Installation
CocoaPods
SpreadsheetView is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'SpreadsheetView'
Carthage
For Carthage, add the following to your Cartfile
:
github "kishikawakatsumi/SpreadsheetView"
Getting Started
The minimum requirement is connecting a data source to return the number of columns/rows, and each column width/row height.
import UIKit
import SpreadsheetView
class ViewController: UIViewController, SpreadsheetViewDataSource {
@IBOutlet weak var spreadsheetView: SpreadsheetView!
override func viewDidLoad() {
super.viewDidLoad()
spreadsheetView.dataSource = self
}
func numberOfColumns(in spreadsheetView: SpreadsheetView) -> Int {
return 200
}
func numberOfRows(in spreadsheetView: SpreadsheetView) -> Int {
return 400
}
func spreadsheetView(_ spreadsheetView: SpreadsheetView, widthForColumn column: Int) -> CGFloat {
return 80
}
func spreadsheetView(_ spreadsheetView: SpreadsheetView, heightForRow row: Int) -> CGFloat {
return 40
}
}
Usage
Freeze column and row headers
Freezing a column or row behaves as a fixed column/row header.
Column Header
func frozenColumns(in spreadsheetView: SpreadsheetView) -> Int {
return 2
}
Row Header
func frozenRows(in spreadsheetView: SpreadsheetView) -> Int {
return 2
}
both
func frozenColumns(in spreadsheetView: SpreadsheetView) -> Int {
return 2
}
func frozenRows(in spreadsheetView: SpreadsheetView) -> Int {
return 2
}
Merge cells
Multiple cells can be merged and then they are treated as one cell. It is used for grouping cells.
func mergedCells(in spreadsheetView: SpreadsheetView) -> [CellRange] {
return [CellRange(from: (row: 1, column: 1), to: (row: 3, column: 2)),
CellRange(from: (row: 3, column: 3), to: (row: 8, column: 3)),
CellRange(from: (row: 4, column: 0), to: (row: 7, column: 2)),
CellRange(from: (row: 2, column: 4), to: (row: 5, column: 8)),
CellRange(from: (row: 9, column: 0), to: (row: 10, column: 5)),
CellRange(from: (row: 11, column: 2), to: (row: 12, column: 4))]
}
Circular Scrolling
Your table acquires infinite scroll just set circularScrolling
property.
Enable horizontal circular scrolling
spreadsheetView.circularScrolling = CircularScrolling.Configuration.horizontally
Enable vertical circular scrolling
spreadsheetView.circularScrolling = CircularScrolling.Configuration.vertically
Both
spreadsheetView.circularScrolling = CircularScrolling.Configuration.both
If circular scrolling is enabled, you can set additional parameters that the option not to repeat column/row header and to extend column/row header to the left/top edges. CircularScrolling.Configuration
is a builder pattern, can easily select the appropriate combination by chaining properties.
e.g.
spreadsheetView.circularScrolling =
CircularScrolling.Configuration.horizontally.columnHeaderNotRepeated
spreadsheetView.circularScrolling =
CircularScrolling.Configuration.both.columnHeaderStartsFirstRow
Customize gridlines, borders and cell spacing
You can customize the appearance of grid lines and borders of the cell. You can specify whether a cell has a grid line or border. Grid lines and borders can be displayed on the left, right, top, or bottom, or around all four sides of the cell.
The difference between gridlines and borders is that the gridlines are drawn at the center of the inter-cell spacing, but the borders are drawn to fit around the cell.
Cell spacing
spreadsheetView.intercellSpacing = CGSize(width: 1, height: 1)
Gridlines
SpreadsheetView
‘s gridStyle
property is applied to the entire table.
spreadsheetView.gridStyle = .solid(width: 1, color: .lightGray)
You can set different gridStyle
for each cell and each side of the cell. If you set cell’s gridStyle
property todefault
, SpreadsheetView
’sgridStyle
property will be applied. Specify none
means the grid will not be drawn.
cell.gridlines.top = .solid(width: 1, color: .blue)
cell.gridlines.left = .solid(width: 1, color: .blue)
cell.gridlines.bottom = .none
cell.gridlines.right = .none
Border
You can set different borderStyle
for each cell as well.
cell.borders.top = .solid(width: 1, color: .red)
cell.borders.left = .solid(width: 1, color: .red)
cell.borders.bottom = .solid(width: 1, color: .red)
cell.borders.right = .solid(width: 1, color: .red)
Author
Kishikawa Katsumi<EMAIL_ADDRESS>License
SpreadsheetView is available under the MIT license. See the LICENSE file for more info.


{% extends 'taxbrain/input_base.html' %} {% load staticfiles %} {% load flatblocks %} {% block content %}
TaxBrain is an interface to open source economic models for tax policy analysis. The code for the TaxBrain webapp interface is itself open source.
Throughout this process, if you have a question about how to use TaxBrain or interpret the results, if you want to make a suggestion for making the interface or underlying models better, or if you discover a bug, please send a message to our mailing list, which you can join at list.ospc.org/mailman/listinfo/users_list.ospc.org.
Disclaimer
Proper use of this tool and description of that use is ultimately your responsibility. If you plan on publishing your results, I highly recommend that you confirm with the community that you are using the tools properly and interpreting the results correctly before you publish them. If you have a compelling reason not to leave a public note on the mailing list, email me at<EMAIL_ADDRESS>Results will change as the underlying models improve. A fundamental reason for adopting open source methods in this project is to let people from all backgrounds contribute to the models that our society uses to assess economic policy; when community-contributed improvements are incorporated, the models will produce different results.
Neither the Open Source Policy Center nor the American Enterprise Institute maintain institutional positions, and the results from models accessible via the TaxBrain interface should not be attributed directly to OSPC or AEI. A suggested acknowledgement is, "We thank AEI for making TaxBrain available, but we bear sole responsibility for the use of the models and any conclusions drawn."
- Matt Jensen, managing director and founder of the Open Source Policy Center
Static tax analysis entails computing individuals' tax changes under the assumption that behavior does not change in response to tax policy. Static analyses are useful for understanding the mechanistic effects of tax policy changes, and they form the basis to which behavior is applied for dynamic analyses.
TaxBrain's static modeling capabilities rely on several open source economic models and other packages:
Transparency and Replicability
In addition to relying on open source models, we are devoted to making it easy for reviewers to understand the models even if they can't understand the source code or don't have access to the underlying data. Toward that end we produce several additional reports to enhance transparency, peer review, collaboration and a scientific advancement.
Note that these reports currently rely on the latest versions of tax-calculator and TaxData, which might not correspond perfectly to TaxBrain.
Accuracy notes
The Python code that performs the tax calculations has been validated in a number of ways. First, Tax-Calculator results for a number of tax filing units have been compared to hand calculations performed using IRS tax forms. Second, Tax-Calculator results for a large sample of tax filing units have been compared to results for the same sample generated by a detailed SAS program developed by Dan Feenberg and Ina Shapiro of NBER. Third, a subset of input variables has been used to compare the results of Tax-Calculator to Internet TAXSIM as well as against the Policy Simulation Group's PENSIM tax module
Bugs aside, the results from TaxBrain might differ in comparison to those produced by Congress or the Administration for other reasons. Modeling requires many assumptions, and neither Congress nor the executive branch publicize all of their assumptions. For example, the distribution of wages in TaxData is assumed to stay the same in real terms for all years after the last year we have available data (2013). We know that Congress assumes this distribution changes over time, but it doesn't publish by how much. These assumptions are all flexible in TaxData, so please conduct sensitivity analyses. Other assumptions can be made flexible in TaxBrain based on user requests.
Core Maintainers (static modeling)*:
These members have "write access" to one or both of the core static modeling repositories, Tax-Calculator and TaxData, and work as a team to determine which open source contributions are accepted.


Sign In.
Username or Email
{{usernameErrorMsg}}
Password
{{passwordErrorMsg}}
forget your password?
no account?
join employer
or
join employee
Remember me
Sign in


Magic Cake
Magic Cake is one of the tastiest cake the world has known. Few have tried it and lived to tell about it, and these are their stories.
We also need to stress that whatever happens to you as result of consuming Magic Cake is your responsibility. You're been warned and you can view our legal page for more information.
Ingredients
- 2 eggs
- 1 pound of sugar
- 3 sticks of butter
Directions
- Mix eggs, sugar, and butter in a large bowl
- Spread into a non-stick dish
- Bake at 350 degress for 1 hour
- Let sit at room temperature for 20 minutes
- Eat and enjoy!


Pen Font Engine++ Font Injector
Use Chrome or Edge (Chromium) for Best Compatibility
1. Font Settings
Font File
Name of Font to be used in Project
Character Set to Inject
If the font already exists, its character data will be wiped before injecting the above character set
Other
2. Project Settings
SB3 Project File with Pen Font Engine++ Sprite
The project must contain a Pen Font Engine++ sprite. Using a new project won't work.
Name of Pen Font Engine++ Sprite in Project
Other
Enabling any of these options will disable font injection.
3. Download
The resulting SB3 file should automatically download after clicking the button above.
The original file will not be replaced or deleted. A new file will be created instead.
The process should take less than 10 seconds to complete before the file starts downloading.
If the resulting file size is too large to upload, try saving the project in Scratch Desktop.


ORM/ODM Propagating Validations
Event Name
Event Title
EO's Email
Date Created
Submit
Name
Title
EO's email
Date Created


Who we are and what we do
Let's make something great together consectetur adipisicing elit. Webster conseqt quibusdam, enim expedita sed quia nesciunt.
The best way is to develop and follow a plan. Start with your goals in mind and then work backwards to develop the plan. What steps are required to get you to the goals? Make the plan as detailed as possible. Try to visualize and then plan for, every possible setback. Commit the plan to paper and then keep it with you at all times. Review it regularly and ensure that every step takes you closer to your Vision and Goals. If the plan doesn’t support the vision then change it!
Success isn’t really that difficult. There is a significant portion of the population here in North America, that actually want and need success to be hard! Why? So they then have a built-in excuse when things don’t go their way! Pretty sad situation, to say the least.
For those of you who are serious about having more, doing more, giving more and being more, success is achievable with some understanding of what to do, some discipline around planning and execution of those plans and belief that you can achieve your desires.


{% extends 'base.html' %} {% from 'waiting_list.html' import render_waiting_list %} {% block title %}Home{% endblock %} {% block header %}
Create evenly-matched hockey squads from players on a waiting list


Information Sciences and Technologies Department @ RIT
Our Undergraduate Degrees
Our Graduate Degrees
Our Graduate Advanced Certificates
Our Undergraduate Minors
People
Employment
Where our students work
Research
Student Resources
About Us
Our Degrees
Graduate
Undergraduate
Graduate Advanced Certificates
Minors
Employment Statistics
Career Information
Career Locations
Our People and Research
People
Research by Interest Area
Resources
Copyright


Before Change
self.config_hooks = []
self.configurations = []
self.named_configs = dict()
self.ingredients = list(ingredients)
self.logger = None
self.captured_functions = []
self.post_run_hooks = []
self.pre_run_hooks = []
After Change
Decorator to turn a function into a captured function.
The missing arguments of captured functions are automatically filled
from the configuration if possible.
See :ref:`captured_functions` for more information.
If a ``prefix`` is specified, the search for suitable
entries is performed in the corresponding subtree of the configuration.
if function in self.captured_functions:
return function


Never knew Microsoft was into Ratpack way back when https://github.com/Microsoft/calculator/blob/master/src/CalcManager/Ratpack/ratpak.h
3/8/2019, 12:00:09 AM
Favs: 0
Retweets: 0
link--- layout: tweet ---
Never knew Microsoft was into Ratpack way back when https://github.com/Microsoft/calculator/blob/master/src/CalcManager/Ratpack/ratpak.h
3/8/2019, 12:00:09 AM
Favs: 0
Retweets: 0
link


New Rexona campaign
Last save 30 seconds ago
Save as a Draft
Preview
Help
Share
Publish campaign
Button
Optional
CTA:
Next
Previous
Button Settings
Button Color
Font color
Position of your elements
1
Step
Delete
Save
Button Color
Position of your elements
1
Step
Delete
Save
Button Color
Font color
Position of your elements
1
Step
Delete
Save
Button Color
Font color
Position of your elements
1
Step
Delete
Save
Add a new slide
Your campaign published!
Share it with your customers!
aug.man/campaignurladress
Sharing Settings
Choose a social media to share
What do you want to add?
1
Assign triger
2
Showing Media
3
Show Interaction
4
Call to Action
Back to campaign


CSS3 Layout
Multi-column
- Prefixed, except in IE 10.
- MDN
[-webkit-|-moz-]column-count: 2
column-width: 200px; columns: width or count; column-rule: 1px dashed green; /* break-before: column | avoid-column */
Box sizing
The default box model (width + padding + border) is difficult so the old IE model, now called box-content, is preferred (width = box + padding + border). NB: FF is -moz-prefixed, IE 8+/Chrome are not prefixed.
Flexibox
- IE 10 uses an old version (-ms-flexbox instead of flex, plus ms-flex:). Webkit is prefixed. FF is prefixed and behind a preference.
- MDN
- IE 10
/* set up flexibox */ display: -ms-flexbox; display: -webkit-flex; display: -moz-flex; /* FF is behind a preference */ display: flex;
Default for sub-blocks (NB: uses writing direction, clipping of parent)
- flex-direction: [row] | column | row-reverse ...
- flex-align: [stretch] | start (=top) | end (=bottom) | center
- flex-wrap: [none] (fills width) | wrap | wrap-reverse (=left to right, then up)
- flex-flow: direction wrap (shortcut)
- #flexItem1 { css for sub-items
- order: [initial] | {number} . IE10 is -ms-flex-order
- flex: 0 0 auto; = grow shrink preferred
Flex item can grow/shrink by proportion (eg flex:2, it's twice as big, flex: 0 2 it's half as big), or uses preferred width/height.
Exclusions (Wrap-flow)
Free-floats. This is IE 10 only (end 2012), -ms-warp-flow. Auto means no exclusion (overlap), both means both sides.
Exclusion elements define exclusion areas that contribute to their containing block's wrapping context. As a consequence, exclusions impact the layout of their containing block's descendants. Elements layout their inline content in their content area and wrap around the areas in their associated wrapping context. If the element is itself an exclusion, it does not wrap around its own exclusion shape and the impact of other exclusions on other exclusions is controlled by the ‘z-index’ property as explained in the exclusions order section.
Grid layout
- IE 10 only, -ms- prefixed. Spec may still change. MSDN
Assign the container
/* set up container with rows and columns */ #grid { display: -ms-grid; /* space delimited columns column 1 = auto, size of content column 2 = 200px, fixed width column 3 = 2fr, 2 fractions of remaining space (2fr+1fr = 3, so 2/3rds) column 4 = 1fr, 1 fraction of remaining space (2fr+1fr = 3, so 1/3rd) */ -ms-grid-columns: auto 200px 2fr 1fr; /* space delimited rows max-content is maximum height of any elements. Also min-content, minmax(x,y) */ -ms-grid-rows: auto max-content 10em; }
The assign items to columns and rows.
#item { -ms-grid-row: 2; -ms-grid-column: 2; -ms-grid-column-align: end; /* align to end of the column */ -ms-grid-row-align: center; /* align to center of row */ }
Two items in the same row will overlay (use z-index)


Regulator: Banks still failing customers
by By Eamon QuinnIrish banks will have to invest significant funds to repair “outdated and fragmented” computer systems and are still failing their customers, the Central Bank deputy governor has said.
Ed Sibley told a meeting of the industry group, Banking and Payments Federation Ireland, that it is was up to individual senior managers and the boards at the banks to ensure “the security, resilience, and use of their data and systems”.
Mr Sibley echoed similar comments made by other senior colleagues that lenders were still failing their customers.
An Irish Banking Culture Board was set up this year in the wake of the tracker mortgage scandal. But the comments of senior regulators suggest they think lenders continue to pay lip service.
“On too many issues the Central Bank has had to push too many retail banks too hard and over too long to put customers first,” said Mr Sibley.
On computer systems, he said: “The foundations are not yet sufficiently strong to effectively manage the technology risks.”


My sister, a librarian, on old new technology:
“But papyrus scrolls feel so much better!”
Such were the cries of lamentation heard across the ancient world as papyrus scrolls were replaced by that new-fangled Roman invention the codex, or book.
“Why do I have to flip these—what are they called? pages? The scrolls ran so smoothly under my hand, they signified a seamless flow of knowledge, a noble tradition, now it's all chopped up into scraps signifying nothing …”
The Luddites' fretful complaints drone on down the centuries, ever eloquent in bemoaning the end of civilization as we know it, while civilization as we aren't quite used to it yet is busy being born. The invention of the printing press was the work of the devil according to these doomsayers, and maybe they were right because it did spread those dangerous things called ideas to the previously unlettered masses. They began thinking for themselves, founding new churches, having revolutions, writing novels that sent Victorian ladies into a swoon, and reading everything from the Bible and Shakespeare to tabloid gossip and vampire boyfriend sagas. Where will it all end? Not with a bang or a whimper apparently, but with a tweet.


--- layout: post title: Event storyboard date: '2016-07-20T18:30:28+02:00' categories: - Storyboards - Sketches picture_url: https://film-Storyboards.tumblr.com/post/147720455103/event-Storyboards ---


Film Folk is a not-for-profit website dedicated to independent film. We seek to support and inspire artists and to introduce their work to worldwide audiences.
Back


CLIPS provides three basic elements for writing programs: primitive data
types, functions for manipulating data, and constructs for adding to a
knowledge base.
2.3.1 Data Types
CLIPS provides eight primitive data types for representing information.
These types are float, integer, symbol, string,
external-address, fact-address, instance-name and
instance-address. Numeric information can be represented using
floats and integers. Symbolic information can be represented using
symbols and strings.
A number; consists only of digits (0-9), a decimal point
(.), a sign (+ or -), and, optionally, an (e) for exponential notation
with its corresponding sign. A number is either stored as a float; or an
integer. Any number consisting of an optional sign followed by only
digits is stored as an integer (represented internally by CLIPS as a
C long integer). All other numbers are stored as floats (represented
internally by CLIPS as a C double-precision float). The number of
significant digits will de?pend on the machine implementation. Roundoff
errors also may occur, again depend?ing on the machine implementation.
As with any computer language, care should be taken when comparing
floating-point values to each other or comparing integers to
floating-point values. Some examples of integers are
Some examples of floats are
237e3 15.09 +12.0 -32.3e-7
Specifically, integers use the following format:
<integer> ::= [+ \| -] <digit>+
<digit> ::= 0 \| 1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9
Floating point numbers use the following format:
<float> ::= <integer> <exponent> \|
<integer> . [<exponent>] \|
. <unsigned integer> [<exponent>] \|
<integer> . <unsigned integer> [<exponent>]
<unsigned-integer> ::= <digit>+
<exponent> ::= e \| E <integer>
A sequence of characters which does not exactly follow the format of a
number is treated as a symbol (see the next paragraph).
A symbol in CLIPS is any sequence of characters that starts with any
printable ASCII character and is followed by zero or more printable
ASCII characters. When a delimiter is found, the symbol is ended. The
following characters act as delimiters: any non-printable ASCII
character (including spaces, tabs, carriage returns, and line feeds), a
double quote, opening and closing parentheses ?(? and ?)?, an ampersand
?&?, a vertical bar ?|?, a less than ?<?, and a tilde ?~?. A semicolon
?;? starts a CLIPS comment (see section 2.3.3) and also acts as a
de?limiter. Delimiters may not be included in symbols with the exception
of the ?<? character which may be the first character in a symbol. In
addition, a symbol may not begin with either the ??? character or the
?$?? sequence of characters (although a symbol may contain these
characters). These characters are reserved for variables (which are
discussed later in this section). CLIPS is case sensitive (i.e.
uppercase letters will match only uppercase let?ters). Note that numbers
are a special case of symbols (i.e. they satisfy the definition of a
symbol, but they are treated as a different data type). Some simple
examples of symbols are
foo Hello B76-HI bad_value
127A 456-93-039 @+=-% 2each
A string is a set of characters that starts with a double quote (“)
and is followed by zero or more printable characters. A string ends with
double quotes. Double quotes may be embedded within a string by placing
a backslash () in front of the character. A backslash may be embedded
by placing two consecutive back?slash characters in the string. Some
examples are
"foo" "a and b" "1 number" "a\"quote"
Note that the string ?abcd” is not the same as the symbol abcd. They
both contain the same characters, but are of different types. The same
holds true for the instance name [abcd].
An external-address is the address of an external data structure
returned by a function (written in a language such as C or Ada) that has
been integrated with CLIPS. This data type can only be created by
calling a function (i.e. it is not possible to specify an
external-address by typing the value). In the basic version of CLIPS
(which has no user defined external functions), it is not possible to
create this data type. External-addresses are discussed in further
detail in the Advanced Programming Guide;. Within CLIPS, the printed
representation of an external-address is
where XXXXXX is the external-address.
A fact is a list of atomic values that are either referenced
positionally (ordered facts) or by name (non-ordered or template facts).
Facts are referred to by index or address; section 2.4.1 gives more
details. The printed format of a fact-address is:
where XXX is the fact-index.
An instance is an object that is an instantiation or specific
example of a class. Objects in CLIPS are defined to be floats,
integers, symbols, strings, multifield values, external-addresses,
fact-addresses or instances of a user-defined class. A user-defined
class is created using the defclass construct. An instance of a
user-defined class is created with the make-instance function, and
such an instance can be referred to uniquely by address. Within the
scope of a module (see section 10.5.1), an instance can also be uniquely
referred to by name. All of these definitions will be covered in more
detail in Sections 2.4.2, <IP_ADDRESS>, 2.6 and 9. An instance-name is
formed by enclosing a symbol within left and right brackets. Thus, pure
symbols may not be surrounded by brackets. If the CLIPS Object Oriented
Language (COOL) is not included in a particular CLIPS configuration,
then brackets may be wrapped around symbols. Some examples of
instance-names are:
[pump-1] [foo] [+++] [123-890]
Note that the brackets are not part of the name of the instance; they
merely indicate that the enclosed symbol is an instance-name. An
instance-address can only be obtained by binding the return value of
a function called instance-address or by binding a variable to an
instance matching an object pattern on the LHS of a rule (i.e., it is
not possible to specify an instance-address by typing the value). A
reference to an instance of a user-defined class can either be by name
or address; instance-addresses should only be used when speed is
critical. Within CLIPS, the printed representation of an
instance-address is
where XXX is the name of the instance.
In CLIPS, a placeholder that has a value (one of the primitive data
types) is referred to as a field. The primitive data types are
referred to as single-field values. A constant is a non-varying
single field value directly expressed as a series of characters (which
means that external-addresses, fact-addresses and instance-addresses
cannot be expressed as constants because they can only be obtained
through function calls and variable bindings). A multifield value is
a sequence of zero or more single field values. When displayed by CLIPS,
multifield values are enclosed in parentheses. Collectively, single and
multifield values are referred to as values. Some examples of
multifield values are
(a) (1 bar foo) () (x 3.0 "red" 567)
Note that the multifield value (a) is not the same as the single field
value a. Multifield values are created either by calling functions
which return multifield values, by using wildcard arguments in a
deffunction, object message-handler, or method, or by binding variables
during the pattern-matching process for rules. In CLIPS, a variable
is a symbolic location that is used to store values. Variables are used
by many of the CLIPS constructs (such as defrule, deffunction,
defmethod, and defmessage-handler) and their usage is explained in the
sections describing each of these constructs.
2.3.2 Functions
A function in CLIPS is a piece of executable code identified by a
specific name which returns a useful value or performs a useful side
effect (such as displaying information). Throughout the CLIPS
documentation, the word function is generally used to refer only to
functions which return a value (whereas commands and actions are used to
refer to functions which have a side effect but generally do not return
a value).
There are several types of functions. User defined functions and
system defined functions are pieces of code that have been written
in an external language (such as C, FORTRAN, or Ada) and linked with the
CLIPS environment. System defined functions are those functions that
have been defined internally by the CLIPS environment. User defined
functions are functions that have been defined externally of the CLIPS
environment. A complete list of system defined functions can be found in
appendix H.
The deffunction construct allows users to define new functions
directly in the CLIPS environment using CLIPS syntax. Functions defined
in this manner appear and act like other functions, however, instead of
being directly executed (as code written in an external language would
be) they are interpreted by the CLIPS environment. Deffunctions are also
discussed in section <IP_ADDRESS> in the context of procedural knowledge
representation.
Generic functions can be defined using the defgeneric and
defmethod constructs. Generic functions allow different pieces of
code to be executed depending upon the arguments passed to the generic
function. Thus, a single function name can be overloaded with more
than one piece of code. Generic functions are also discussed in section
<IP_ADDRESS> in the context of procedural knowledge representation.
Function calls in CLIPS use a prefix notation ? the arguments to a
function always appear after the function name. Function calls begin
with a left parenthesis, followed by the name of the function, then the
arguments to the function follow (each argument separated by one or more
spaces). Arguments to a function can be primitive data types, variables,
or another function call. The function call is then closed with a right
parenthesis. Some examples of function calls using the addition (+) and
multiplication (*) functions are shown following.
(+ 3 4 5)
(\* 5 6.0 2)
(+ 3 (\* 8 9) 4)
(\* 8 (+ 3 (\* 2 3 4) 9) (\* 3 4))
While a function refers to a piece of executable code identified by a
specific name, an expression refers to a function which has its
arguments specified (which may or may not be functions calls as well).
Thus the previous examples are expressions which make calls to the *
and + functions.
2.3.3 Constructs
Several defining constructs appear in CLIPS: defmodule,
defrule, deffacts, deftemplate, defglobal,
deffunction, defclass, definstances, defmessage-handler,
defgeneric, and defmethod. All constructs in CLIPS are
surrounded by parentheses. The construct opens with a left parenthe?sis
and closes with a right parenthesis. Defining a construct differs from
calling a function primarily in effect. Typically a function call leaves
the CLIPS environment unchanged (with some notable exceptions such as
resetting or clearing the environment or opening a file). Defining a
construct, however, is explicitly intended to alter the CLIPS
environment by adding to the CLIPS knowledge base. Unlike function
calls, constructs never have a return value.
As with any programming language, it is highly beneficial to comment
CLIPS code. All constructs (with the exception of defglobal) allow a
comment directly following the construct name. Comments also can be
placed within CLIPS code by using a semicolon (;). Everything from the
semicolon until the next return character will be ignored by CLIPS. If
the semicolon is the first character in the line, the entire line will
be treated as a comment. Examples of commented code will be pro?vided
throughout the reference manual. Semicolon commented text is not saved
by CLIPS when loading constructs (however, the optional comment string
within a construct is saved).


Binding expressions are everywhere in MDW. For example, when a workflow process uses a subprocess activity to invoke another process, it can assign values for the subprocess's input variables through binding expressions. Generally, for activity attributes in Designer, binding expressions can be used where a dynamic value is required from the runtime environment. Other examples where expressions are used to embed dynamic values include:
The preferred syntax for binding expressions in MDW is the standard Java
Expression Language. Historically MDW supported a proprietary expression language, Magic Box, which as of
MDW 5.5 is still supported for compatibility purposes only but its use for new development is discouraged. Because this legacy EL used the dollar symbol ($
) as a token identifier,
it is a good idea to try to avoid it in standard Java Expressions, and instead use the alternative hash symbol (#
). For example, instead of ${myVariable}
, use
#{myVariable}
. Having said that, MDW does allow using the $ token for Java Expressions by recognizing that a curly bracket needs to follow the $ (or #) token for it to be valid.
In most cases the evaluation context for an MDW Java EL expression is a runtime context for a process, activity or task. In this context your process variables are available as top-level entities, or they can be the base for further evaluation:
#{productType} #{customer.name} #{mySuit == 'hearts'} #{myVar}_hardCodedSuffix
Besides process variables, certain other runtime values are available for binding. In fact the RuntimeContext itself is implicitly bound as context, so through this you can access any values described by the javadocs for the relevant context:
As an example, if for whatever reason in your document web service adapter you wanted to point the URL to the Employee.wsdl endpoint hosted in the same MDW environment, on the Design tab for this activity in Designer you could specify:
#{context.servicesUrl}/SOAP/Employee.wsdl
In a more likely scenario, suppose you're invoking the Employee service at an endpoint specified in your configuration
file as employee.service.url. In that case you can take advantage of the props
shortcut access:
#{props['employee.service.url']}
MDW document variables are available as full-blown objects in your expressions. For instance, if you have a JAXBElement variable named order in your workflow based on the DesignerOrder XML in mdwdemo, you can access the orderNumber element as follows:
#{order.orderNumber}
Note: Do not try this type of access through getProcessInstance().getVariables(). For documents this returns only a DocumentReference, which cannot be treated as an object.
When a TaskRuntimeContext is extant, or for notification XHTML templates, document variables which are XML types (JAXB, DOM, XMLBeans) can use XPath syntax to pull values. In this case the above example could be replicated as follows (see the Custom Web and Notifications docs for details):
#{variables['order']['/orderNumber']}
Also in custom web pages, you can use the same type of expression to access your Dynamic Java Managed Beans.


Checkstyle XML difference report
This is symmetric difference generated from two checkstyle-result.xml reports.
All matching records from each XML file are deleted, then remaining records are merged into single report.
Utility that generated this report.
Checkstyle configuration report
| Module Name |
Base properties |
Patch properties |
| Checker |
haltOnException
false
|
haltOnException
false
|
| TreeWalker |
|
|
| SuppressionXpathSingleFilter |
message
Javadoc comment at column \d+ has parse error
|
message
Javadoc comment at column \d+ has parse error
|
| NoArrayTrailingComma |
|
|
| SuppressionSingleFilter |
checks
Checker
message
Exception occurred while parsing
|
checks
Checker
message
Exception occurred while parsing
|
Summary:
| Report id |
Files |
Violations |
Severity-error |
| base |
1983 |
0 |
0 |
| patch |
1983 |
16 (16 added) |
16 (16 added) |
|
9 files with differences |
16 changes in violations |
16 changes in violations |
| Report id |
com.puppycrawl.tools.checkstyle.checks.coding.NoArrayTrailingCommaCheck |
| base |
0 |
| patch |
16 (16 added) |
| changes in violations |
16 |
Number of unique base messages reported below:
0
Number of unique patch messages reported below:
16
Violations:
/Users/shashvatkedia/Desktop/contribution/checkstyle-tester/repositories/apache-struts/core/src/main/java/org/apache/struts2/util/tomcat/buf/HexUtils.java
|
Severity |
Rule |
Message |
Line |
Col |
| # |
error |
NoArrayTrailingComma |
Array should not contain trailing comma. |
39 |
35 |
/Users/shashvatkedia/Desktop/contribution/checkstyle-tester/repositories/apache-struts/core/src/test/java/org/apache/struts2/dispatcher/ParameterTest.java
|
Severity |
Rule |
Message |
Line |
Col |
| # |
error |
NoArrayTrailingComma |
Array should not contain trailing comma. |
37 |
55 |
/Users/shashvatkedia/Desktop/contribution/checkstyle-tester/repositories/apache-struts/core/src/test/java/org/apache/struts2/views/jsp/ui/CheckboxListTest.java
|
Severity |
Rule |
Message |
Line |
Col |
| # |
error |
NoArrayTrailingComma |
Array should not contain trailing comma. |
69 |
31 |
/Users/shashvatkedia/Desktop/contribution/checkstyle-tester/repositories/apache-struts/plugins/embeddedjsp/src/main/java/org/apache/struts2/el/parser/ELParser.java
|
Severity |
Rule |
Message |
Line |
Col |
| # |
error |
NoArrayTrailingComma |
Array should not contain trailing comma. |
2134 |
273 |
| # |
error |
NoArrayTrailingComma |
Array should not contain trailing comma. |
2138 |
250 |
/Users/shashvatkedia/Desktop/contribution/checkstyle-tester/repositories/apache-struts/plugins/embeddedjsp/src/main/java/org/apache/struts2/el/parser/ELParserConstants.java
|
Severity |
Rule |
Message |
Line |
Col |
| # |
error |
NoArrayTrailingComma |
Array should not contain trailing comma. |
203 |
26 |
/Users/shashvatkedia/Desktop/contribution/checkstyle-tester/repositories/apache-struts/plugins/embeddedjsp/src/main/java/org/apache/struts2/el/parser/ELParserTokenManager.java
|
Severity |
Rule |
Message |
Line |
Col |
| # |
error |
NoArrayTrailingComma |
Array should not contain trailing comma. |
1076 |
23 |
| # |
error |
NoArrayTrailingComma |
Array should not contain trailing comma. |
1119 |
86 |
| # |
error |
NoArrayTrailingComma |
Array should not contain trailing comma. |
1126 |
28 |
| # |
error |
NoArrayTrailingComma |
Array should not contain trailing comma. |
1135 |
47 |
| # |
error |
NoArrayTrailingComma |
Array should not contain trailing comma. |
1138 |
31 |
| # |
error |
NoArrayTrailingComma |
Array should not contain trailing comma. |
1141 |
19 |
/Users/shashvatkedia/Desktop/contribution/checkstyle-tester/repositories/apache-struts/plugins/embeddedjsp/src/main/java/org/apache/struts2/el/parser/ELParserTreeConstants.java
|
Severity |
Rule |
Message |
Line |
Col |
| # |
error |
NoArrayTrailingComma |
Array should not contain trailing comma. |
92 |
11 |
/Users/shashvatkedia/Desktop/contribution/checkstyle-tester/repositories/apache-struts/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/Constants.java
|
Severity |
Rule |
Message |
Line |
Col |
| # |
error |
NoArrayTrailingComma |
Array should not contain trailing comma. |
159 |
32 |
| # |
error |
NoArrayTrailingComma |
Array should not contain trailing comma. |
165 |
36 |
/Users/shashvatkedia/Desktop/contribution/checkstyle-tester/repositories/apache-struts/plugins/gxp/src/main/java/org/apache/struts2/views/gxp/GxpInstance.java
|
Severity |
Rule |
Message |
Line |
Col |
| # |
error |
NoArrayTrailingComma |
Array should not contain trailing comma. |
79 |
97 |


Getting Start With NodeJs and Express
Introduction
In this first post about Node Js we will talk about how to start with Node using express module, which provide a easy way to start MVC based web application in minutes.
Installation
This tutorial assume that you are running Ubuntu 16.04 and have ‘‘sudo’’ access on your system.
For Installing Distro stable version
$ sudo apt-get update
$ sudo apt-get install nodejs
#For npm installation
$ sudo apt-get install npm
This is sufficient for working on node.js and enough for now, if you want to try latest or unstable version then follow this link Node js instalation by package manager
Now we will install Express-generator, which will be used to generate express skelton code for our app.
$ npm install express-generator -g
Getting help for express
$ express -h
Usage: express [options] [dir]
Options:
-h, --help output usage information
--version output the version number
-e, --ejs add ejs engine support
--hbs add handlebars engine support
--pug add pug engine support
-H, --hogan add hogan.js engine support
-v, --view <engine> add view <engine> support (ejs|hbs|hjs|jade|pug|twig|vash) (defaults to jade)
-c, --css <engine> add stylesheet <engine> support (less|stylus|compass|sass) (defaults to plain css)
--git add .gitignore
-f, --force force on non-empty directory
Now let’s cook some app with express, we are using ejs temple engine for this tutorial you can use some other one also like pug.
$ express --view=ejs myapp
create : myapp
create : myapp/package.json
create : myapp/app.js
create : myapp/public
create : myapp/public/javascripts
create : myapp/public/images
create : myapp/routes
create : myapp/routes/index.js
create : myapp/routes/users.js
create : myapp/public/stylesheets
create : myapp/public/stylesheets/style.css
create : myapp/views
create : myapp/views/index.ejs
create : myapp/views/layout.ejs
create : myapp/views/error.ejs
create : myapp/bin
create : myapp/bin/www
Now we will look what dependencies we have in package.json and install them:
{
"name": "myapp",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"body-parser": "~1.15.2",
"cookie-parser": "~1.4.3",
"debug": "~2.2.0",
"ejs": "~2.5.2",
"express": "~4.14.0",
"morgan": "~1.7.0",
"serve-favicon": "~2.3.0"
}
}
Now Install them using:
$ cd myapp
$ npm install
Now to start application on MacOS or Linux, run:
$ DEBUG=myapp:* npm start
and on Windows:
> set DEBUG=myapp:* & npm start
Let’s see our app file tree and then we will move next
.
├── app.js
├── bin
│ └── www
├── package.json
├── public
│ ├── images
│ ├── javascripts
│ └── stylesheets
│ └── style.css
├── routes
│ ├── index.js
│ └── users.js
└── views
├── error.ejs
├── index.ejs
└── layout.ejs
7 directories, 9 files
In route folder our routes part is written and in views folder our views exists, similarly public folder contain public file like stylesheets, image and statcs file.
Now we will understand what and how routing file are used in application and how to extend them.
Understanding Routing
Before understanding route file and content lets look how to add them in our application.
Let’s look for this code in app.js reside inq project root folder:
1 | var index = require('./routes/index');
2 | var users = require('./routes/users');
3 |
3 | app.use('/', index);
4 | app.use('/users', users);
if you look closely then in first two line we have made a variable from ”./routes/index” and ”./routes/users” module and then we are using later with respective router in this “app.use(‘/’, index)” and “app.use(‘/users’, users)” line.
Let’s look some code in routes/index.js
1 | var express = require('express');
2 | var router = express.Router();
3 |
4 | /* GET home page. */
5 | router.get('/', function(req, res, next) {
6 | res.render('index', { title: 'Express' });
7 | });
8 |
9 | module.exports = router;
Let’s consider this example, we have used get method for root page or router and rendoring a template file with provided data in json format. We will check how to use this data into template file in view part.
Getting View part
In above routing section, we checked how to write GET, POST, PUT method for routing and rendoring html file with some data, now we will check here how to use this data in templates file to generate html file dynamically.
Note: This method depends on choice of view engine for node, and may defer from your choice but concept will nearly same. Here we are using ejs templates engine, which is based on javascript syntax with html. syntax for your choice can be found on your view engine home page.
First we will see how to include view engine in your main app.js located on root directory of your project.
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
here you can see, that how we have included view engine in app.js. You don’t have to setup this, if you have used given method to generate skelton code.
Now we will check index.ejs located in views folder
<!DOCTYPE html>

<title><%= title %></title>
<link rel='stylesheet' href='/stylesheets/style.css' />

<%= title %>

Welcome to <%= title %>

Here you can spot <%= title %> in this code, this is variable title we have passed from get method as name title. in ejs you can specify variable using this <%= your variable name %>.
Finally
now we will check how to run our site locally and how to access in web browser and in next part we will discuss more about writing routing using GET, POST and other method.
Now got to root folder of project and type
npm start
Now point your browser to localhost:3000 or <IP_ADDRESS>:3000 and you will see page like this.
References
1. https://expressjs.com/en/starter/generator.html


Your browser does not support the audio tag.
Your browser does not support the audio tag.
Enter the Room ID below:
Enter Room
Back


AppPlus is a open source android application,and used to manage app,export apk,watch recent processes.
Designed by 咕咚
WebSite
Weibo
Zhihu
Github
Google+
Open source address：https://github.com/maoruibin/AppPlus
Report bugs or issues：https://github.com/maoruibin/AppPlus/issues


The town of Lautoka lies on the north west coast of Viti Levu. It is in the heart of the sugar cane growing area which gives it the name of 'Sugar City'.
Position 17° 36' 30" S, 177° 26' 15" E (Lautoka Wharf)
Position 17º41’04”S, 177º23’02”E (Vuda marina entrance channel).
Ensure you fly the 'Q' flag and call Vuda Marina on VHF channel 16 (07:30-15:00 Mon-Fri) when an hour away.
Refer to the main Fiji Formalities page for detailed clearance information.
Vuda Point Marina is now a Clearance station for arriving yachts (see photo).
Pickup the yellow quarantine mooring buoy ( approximately 400m outside the channel entrance). If the mooring is already taken by another vessel, then drop anchor nearby. The depth in this area is approximately 16m.
Call the marina again to advise them you are awaiting clearance. Monitor VHF channel 16 and await instructions. See this Vuda Marina Clearance page for more details.
Note that the marina charge a clearance fee of $60.00 apart from other official clearance fees.
If arrival is outside the marina's clearance hours (8am to 4pm Mon-Fri), then everyone MUST remain on board and berth at Lautoka Wharf and clear in through the Lautoka offices there
It is no longer necessary to clear in and out of each Customs region visited, (Suva: Levuka: Savusavu: Lautoka: Lau Group: Rotuma:). Yachts can now clear out of the port of entry with a permit to cruise all Fijian coastal waters within the bounds of their cruising permit. There is however a requirement to report your position and current cruising plans once a week. This can easily be done by:
- VHF Ch:16
- Telephone: 324 3782/3747/3315
- Customs Hotline: 324 3666
- E-mail<EMAIL_ADDRESS>Departure
Note, that in this port, an Immigration official now boards all yachts which must be ready to set sail immediately following receipt of outbound clearance.
Last updated February 2016.
Vuda marina is accessible through a reef channel 25m wide, the marina entrance is marked with beacons and green leading lights and is easily arrived at by approaching the highly visable British Petroleum storage tanks from the south west.
It is not recommended that a night entry is attempted unless familiar with the approach. It is possible to anchor outside the channel but if there is a swell, then it may be more comfortable to take shelter at Saweni Beach for the night which is just North of the marina.
Lautoka Wharf is about 7nm NE of the marina entrance channel.
Last updated February 2016.


--- layout: page title: "About" description: "Nice to meet you!" header-img: "img/about-bg.jpg" ---
Hi! My name is Cindy Lai, and I'm currently a 3rd year Stats Major with a CS minor at UC Davis. As an aspiring data scientist, I try to do my best to expose myself to all the little wonders data science has to offer.
My ds interests include data exploration and machine learning. I started my data science journey in R, but now I have ventured out to Python as well.
On this site, I will share some of the projects I worked on, with small writeups about what I learned.
Questions? Email me at cynthialai1996 at gmail dot com!


Familiar with Github, AWS, Heroku, Twitter Bootstrap. Also familiar with javascript, jQuery, CSS, HTML and ruby. Some experience with frameworks such as rails and sinatra.
Knowledge of managerial economics, industrial design and facilities planning, supply chain management, extracting meaningful information from data sets, and production and supply chain simulation. Best practices including the Toyota Production System, Kaizen. Ideation and production methods such as Agile and waterfall.
Working on hardware and software related side-projects at Velocity. Entrepreneurial mindset, capable of creatively addressing and overcoming problems. Good presentation skills.
Worked with a team for development and deployment of analysis and creative visualization of social data application. Also assisted in platform integration, quality assurance and was solely responsible for final deployment to heroku and presentation.
Teach underprivileged children from the local area basic English, Math and Computing. Organize events and fundraise for them.
Worked at Wendy's for a year, quitting since I had to return to India
A variety of subjects, including, but not limited to Algorithms, JavaScript, HTML, CSS, Computer Science courses, Advanced Statistics and Data Analysis.


Practice
2016 Forensics 150
Download the project here
##Methods of Hacking##
* Figure out Hashes of username/password and put in Username: iamahacker Password: iamnotascriptkiddy
* Send Intent of specific string to cause Broadcast receiver to print flag
* Figure out how the app is taking the decimal ASCII converting it to HEX and then to string and formulate the flag
##Installation/start-up##
1. APK emulator (Android Studio works)2. Download sdk with API v15
3. Download apktools
brew install apktool
4. download jd gui installer
##Solving##
1. Once everything is loaded you should be able to unzip and decode the Authenticator.apk file. (Recommended: copy Authenticator.apk to a temp file)unzip Authenticator.apk
wait....
apktool d Authenticator.apk
2. Make sure all sdk packages are loaded properly and start Android Studios AVD Manager from terminal. Then create a virtual device (the smaller the device the more likely it will load).
android avd
3. Next the apk may already be loaded on the virtual device so open it up and find authenticator in the apps.
4. Then in a new page in terminal find where you unziped the apk and convert the classes.dex file to a jar
d2j-dex2jar classes.dex
5. Open classes.dex2jar.jar file in jd-gui and find last function to see the word needed to send in the intent broadcast.(AUTHENTICATE)
6. Next go through the AndroidManifest.xml to find the first portion of the intent. (org.ctf.authenticator.authenticate)
7. Send the intent while the virtual device is in the same view so you can see the flag appear.
adb shell am broadcast -a org.ctf.authenticator.authenticate
##Another way to solve:##
Go into Authenticator/res/values and find the user and password strings.* The strings are encrypted but can be decrypted and then used as the username and password when the app is launched.
The Key is“e1192d27265d0754f9482fbbe0b8bb165c4f2144”


GameGyft
Logout
Help
Success, you've unlocked your GameGyft!
Happy Birthday, Josie from Auntie Shawn


My Kratom experience was purely horrible! I am a heavy-set, fairly healthy twenty-six year old female who is not currently on any medications. I have had limited experiences with psychoactives (I drink and smoke cannabis once a month or so, and have tried shrooms and salvia before and had enjoyable experiences).
Kratom is just bad, though. I had drank the tea at around 10:15 pm, while it was bitter, it tasted much like other herbal teas that I have drank. I immediately felt a slight buzz, much like what I experience from alcohol. However, that's when everything went downhill.
I began to feel nauseous at about the same time that I began to catch a buzz, and the sensation only grew stronger until I was covered in sweat and dry-heaving. (I hadn't had anything to eat since dinner at around 5:30 pm.) Feeling weakened but relieved, I went to bed at around midnight and hoped that I'd feel better in the morning.
Fast forward to 11 am the next morning. I had slept soundly, but felt absolutely horrible. I couldn't so much as stand up without feeling profoundly weak and nauseous. Attempting to drink water and juice (in an attempt to stay hydrated) yielded violent stomach cramps and almost-projectile vomiting. I was forced to cancel my day's plans and stay in bed. At around 9:00 pm, the nausea subsided and I was able to drink some soup without it making a reappearance.
I promptly threw away the rest of the kratom that I had in my stash. Never again!!!
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Contact The Company
Home
About Us
Our Services
Contact Us
Website: company.website
Email<EMAIL_ADDRESS>Phone: 2017-301-080
© 2018 The Company.


Attackers rob elderly couple on farm, set house alight
by Kaveel SinghAn elderly couple have been left traumatised after they were robbed, tied up and had their home set alight, police said on Sunday.
The couple, aged 68 and 67 were attacked on Wednesday, November 6 around 20:45 on their Albany Bluegum Vale Farm at Gubenxe Valley area near Ugie by three unknown suspects.
"According to reports, three suspects approached one of the victims after he went out of the yard to relieve himself. One of the suspects who was armed, forced the elderly man back into the house where they demanded bank cards from him and his wife," said police spokesperson Brigadier Tembinkosi Kinana.
He said the men then drove to town with the couple and withdrew an undisclosed amount of money from their bank cards before returning back to the farm.
Kinana said that after they arrived back at the farm the suspects tied up the elderly man, but not his wife and locked them in the bedroom.
"They allegedly threw petrol in the house and set it alight. Due to the fact that one of the victims was not tied, she managed to untie her husband and they both managed to get out of the house through the windows and alerted the police."
Kinana said the suspects fled the scene in an unknown vehicle. No arrests have been made at this stage.
"The couple was taken to hospital for medical care. A case of house robbery is under investigation."
Anyone who can assist with information that will lead to the arrest of the suspects should contact the investigating officer on<PHONE_NUMBER> or call the Crime Stop number 08600 10111.


*Free* (as in beer) Access to VSIP!
Here. "Register to become a Visual Studio Industry partner and get FREE access to the VSIP SDK. As a VSIP you will have access to the technology, private newsgroups and secured technical content to assist you in seamlessly integrating your tools, components, and languages into the Visual Studio .NET IDE."
Everything you always wanted to do to integrate seamlessly into VS.NET used to cost money. As of todays, it's free! Wahoo!


To join the email list, send an email (from the account you wish to join from) to<EMAIL_ADDRESS>and type only the words subscribe vduny {Your Name}
in the body of the email. (ex: subscribe vduny Joe Smith
)
To get off the email list, you need to send an email to<EMAIL_ADDRESS>and type only the words unsubscribe vduny
in the body of the email. You must send the email from the same account that you wish to be removed from the list. If you no longer have this account, contact Kyle Korndoerfer or Joel Bennett and request thatthey manually delete your name.
The purpose of the email list is mainly to receive announcements about when and where the meetings are, as well as giving the members of the list an opportunity to email questions or announcements to the whole group when they are unable to attend the meeting in person.
We have all enjoyed the fact that vduny is a low-traffic list. Please remember to stay on topic. Send visual development questions or announcements (jobs/hiring/upcoming seminars/etc...) that are appropriate to present to the whole group by emailing<EMAIL_ADDRESS>There's no "Undo"! Whatever you send to<EMAIL_ADDRESS>gets automatically posted to all the people on the list!
Avoid replying to<EMAIL_ADDRESS>unless everyone needs to know. Once conversation starts, it is best to exchange email addresses and continue the email thread directly with the person who initiated the question.
To ask questions of, or to make announcements to the group, address the email to<EMAIL_ADDRESS>To ask a question about the group or volunteer for a presentation or to sponsor a meeting, contact either Kyle Korndoerfer<EMAIL_ADDRESS>or Joel Bennett (jaykul@huddledmasses.org).


Super simple WYSIWYG Editor using Bootstrap (3.0 and 2.x).
Summernote is a JavaScript library that helps you create WYSIWYG editors online.
Home Page: http://summernote.org
Summernote has a few special features:
Summernote uses opensource libraries: jQuery, Bootstrap, Font Awesome.
For Meteor, just run meteor add summernote:summernote
. More info in the Meteor README.
For other/no frameworks:
Include the following code in the
tag of your HTML:

<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" />

<link rel="stylesheet" href="//netdna.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" />

<link href="summernote.css" rel="stylesheet">

Then place a div
tag somewhere in the body
tag. This element will be replaced with the summernote editor.

Hello Summernote

Finally, run this script after the DOM is ready:
$(document).ready(function() {
$('#summernote').summernote();
});
code
- get the HTML source code underlying the text in the editor:
var sHTML = $('#summernote').code();
Destroy
summernote:
$('#summernote').destroy();
The code view allows the user to enter script contents. Make sure to filter/sanitize the HTML on the server. Otherwise, an attacker can inject arbitrary JavaScript code into clients.
Any modern browser: Safari, Chrome, Firefox, Opera, Internet Explorer 9+.
summernote.js - Renderer.js (Generate markup) - Locale.js (Locale object)
ㄴEventHandler.js - Toolbar.js (Toolbar module)
ㄴPopover.js (Popover module)
ㄴHandle.js (Handle module)
ㄴDialog.js (Dialog module)
ㄴEditor.js (Abstract editor module) - Style.js (Style Getter and Setter)
ㄴHistory.js (Store on jQuery.data)
-----------------------------Core Script-----------------------------
agent.js (agent information)
async.js (aysnc utility)
key.js (keycode object)
dom.js (dom functions)
list.js (list functions)
range.js (W3CRange extention)
---------------------------------------------------------------------
- body container:
, ,
,

- block node:
,
,
,
,

- void block node:

- inline node: , , , , ...
- void inline node:
- text node: #text

has only

nodes.

when enter key pressed.#text
and void inline node doesn't have children.# grunt-cli is need by grunt; you might have this installed already
npm install -g grunt-cli
npm install
# build full version of summernote: dist/summernote.js
grunt build
# generate minified copy: dist/summernote.min.js, dist/summernote.css
grunt dist
At this point, you should now have a build/
directory populated with everything you need to use summernote.
run tests with PhantomJS
grunt test
run local server with connect and watch.
grunt server
# Open a browser on http://localhost:3000.
# If you change source code, automatically reload your page.
summernote may be freely distributed under the MIT license.


Spec
Bed12RecordBedRecord with 12 fields.
BedRecord with 12 fields.
| Extends | BedRecord |
|---|---|
| All Extended | BedRecord |
| All Impl'd | AssignableConcept, CopyConstructibleConcept, DefaultConstructibleConcept, FormattedFileRecordConcept |
| Defined in | <seqan/bed_io.h> |
| Signature |
template <>
class BedRecord<Bed12>;
|
Member Function Overview
Member Functions Inherited From BedRecord
Member Functions Inherited From AssignableConcept
Interface Function Overview
Interface Functions Inherited From BedRecord
Interface Functions Inherited From AssignableConcept
Member Variable Overview
-
TIntString Bed12Record::blockBegins
The begin positions of the blocks (AllocString of __int32). -
__int32 Bed12Record::blockCount
The number of blocks. -
TIntString Bed12Record::blockSizes
The sizes of the blocks (AllocString of __int32). -
__int32 Bed12Record::itemRgb
RGB color of item (BedRgb). -
__int32 Bed12Record::thickBegin
The begin position of thick drawing. -
__int32 Bed12Record::thickEnd
The end position of thick drawing.
Member Variables Inherited From BedRecord
Detailed Description
This BedRecord specialization stores all fields of a BED file.
Member Variables Detail
TIntString Bed12Record::blockBegins
The begin positions of the blocks (AllocString of __int32).
__int32 Bed12Record::blockCount
The number of blocks.
TIntString Bed12Record::blockSizes
The sizes of the blocks (AllocString of __int32).
__int32 Bed12Record::itemRgb
RGB color of item (BedRgb).
__int32 Bed12Record::thickBegin
The begin position of thick drawing.
__int32 Bed12Record::thickEnd
The end position of thick drawing.