|
Mini51 BSP
V3.02.002
The Board Support Package for Mini51 Series
|
#include <Mini51Series.h>
Data Fields | |
| __IO uint32_t | PPR |
| __IO uint32_t | CSR |
| __IO uint32_t | PCR |
| __IO uint32_t | CNR [6] |
| __IO uint32_t | CMR [6] |
| __IO uint32_t | PIER |
| __IO uint32_t | PIIR |
| __IO uint32_t | POE |
| __IO uint32_t | PFBCON |
| __IO uint32_t | PDZIR |
| __IO uint32_t | TRGCON0 |
| __IO uint32_t | TRGCON1 |
| __IO uint32_t | TRGSTS0 |
| __IO uint32_t | TRGSTS1 |
| __IO uint32_t | PHCHG |
| __IO uint32_t | PHCHGNXT |
| __IO uint32_t | PHCHGMASK |
| __IO uint32_t | INTACCUCTL |
@addtogroup PWM Pulse Width Modulation Controller(PWM) Memory Mapped Structure for PWM Controller
Definition at line 4794 of file Mini51Series.h.
| PWM_T::CMR |
| Bits | Field | Descriptions |
| [15:0] | CMRn | PWM Comparator Bits
CMR determines the PWM duty. n = 0, 1..5. Edge-aligned mode: PWM frequency = HCLK/((prescale+1)*(clock divider))/(CNRn+1); where xy, could be 01, 23, 45 depending on the selected PWM channel. Duty ratio = (CMRn+1)/(CNRn+1). CMRn >= CNRn: PWM output is always high. CMRn < CNRn: PWM low width = (CNRn-CMRn) unit; PWM high width = (CMR+1) unit. CMRn = 0: PWM low width = (CNRn) unit; PWM high width = 1 unit. Center-aligned mode: PWM frequency = HCLK/((prescale+1)*(clock divider)) /(2*CNRn+1); where xy, could be 01, 23, 45 depending on the selected PWM channel. Duty ratio = (CNRn - CMRn)/(CNRn+1). CMRn >= CNRn: PWM output is always low. CMRn < CNRn: PWM low width = (CMRn + 1) * 2 unit; PWM high width = (CNRn - CMRn) * 2 unit. CMRn = 0: PWM low width = 2 unit; PWM high width = (CNRn) * 2 unit. (Unit = One PWM clock cycle). Note: Any write to CMRn will take effect in next PWM cycle. |
Definition at line 6656 of file Mini51Series.h.
| PWM_T::CNR |
| Bits | Field | Descriptions |
| [15:0] | CNRn | PWM Counter/Timer Loaded Value
CNRn determines the PWM period. n = 0, 1..5. Edge-aligned mode: PWM frequency = HCLK/((prescale+1)*(clock divider))/(CNRn+1); where xy, could be 01, 23, 45 depending on the selected PWM channel. Duty ratio = (CMRn+1)/(CNRn+1). CMRn >= CNRn: PWM output is always high. CMRn < CNRn: PWM low width = (CNRn-CMRn) unit; PWM high width = (CMR+1) unit. CMRn = 0: PWM low width = (CNRn) unit; PWM high width = 1 unit. Center-aligned mode: PWM frequency = HCLK/((prescale+1)*(clock divider))/ (2*CNRn+1); where xy, could be 01, 23, 45 depending on the selected PWM channel. Duty ratio = (CNRn - CMRn)/(CNRn+1). CMRn >= CNRn: PWM output is always low. CMRn < CNRn: PWM low width = (CMRn + 1) * 2 unit; PWM high width = (CNRn - CMRn) * 2 unit. CMRn = 0: PWM low width = 2 unit; PWM high width = (CNRn) * 2 unit. (Unit = One PWM clock cycle). Note: Any write to CNRn will take effect in next PWM cycle. |
Definition at line 6655 of file Mini51Series.h.
| PWM_T::CSR |
| Bits | Field | Descriptions |
| [2:0] | CSR0 | Timer 0 Clock Source Selection
Select clock input for PWM timer. (Table is the same as CSR5.) |
| [6:4] | CSR1 | Timer 1 Clock Source Selection
Select clock input for PWM timer. (Table is the same as CSR5.) |
| [10:8] | CSR2 | Timer 2 Clock Source Selection
Select clock input for PWM timer. (Table is the same as CSR5.) |
| [14:12] | CSR3 | Timer 3 Clock Source Selection
Select clock input for PWM timer. (Table is the same as CSR5.) |
| [18:16] | CSR4 | Timer 4 Clock Source Selection
Select clock input for PWM timer. (Table is the same as CSR5.) |
| [22:20] | CSR5 | Timer 5 Clock Source Selection
Select clock input for PWM timer. 000 = Input Clock Divided by 2. 001 = Input Clock Divided by 4. 010 = Input Clock Divided by 8. 011 = Input Clock Divided by 16. 100 = Input Clock Divided by 1. |
Definition at line 6653 of file Mini51Series.h.
| PWM_T::INTACCUCTL |
| Bits | Field | Descriptions |
| [0] | INTACCUEN0 | Interrupt Accumulation Function Enable Control
0 = Disabled. 1 = Enabled. |
| [7:4] | PERIODCNT | Interrupt Accumulation Bits
When INTACCUEN0 is set, PERIODCNT will decrease when every PWMPIF0 flag is set and when PERIODCNT reach to zero, the PWM0 interrupt will occurred and PERIODCNT will reload itself. |
Definition at line 6672 of file Mini51Series.h.
| PWM_T::PCR |
| Bits | Field | Descriptions |
| [0] | CH0EN | PWM-timer 0 Enable/Disable Start Run
0 = Corresponding PWM-timer running Stopped. 1 = Corresponding PWM-timer start run Enabled. |
| [1] | DB_MODE | PWM Debug Mode Configuration Bit (Available In DEBUG Mode Only)
0 = Safe mode: The timer is frozen and PWM outputs are shut down Safe state for the inverter. The timer can still be re-started from where it stops. 1 = Normal mode: The timer continues to operate normally May be dangerous in some cases since a constant duty cycle is applied to the inverter (no more interrupts serviced). |
| [2] | CH0INV | PWM-timer 0 Output Inverter Enable Control
0 = Inverter Disabled. 1 = Inverter Enabled. |
| [3] | CH0MOD | PWM-timer 0 Auto-reload/One-shot Mode
0 = One-shot mode. 1 = Auto-reload mode. Note: If there is a rising transition at this bit, it will cause CNR0 and CMR0 cleared. |
| [4] | CH1EN | PWM-timer 1 Enable/Disable Start Run
0 = Corresponding PWM-timer running Stopped. 1 = Corresponding PWM-timer start run Enabled. |
| [6] | CH1INV | PWM-timer 1 Output Inverter ON/OFF
0 = Inverter OFF. 1 = Inverter ON. |
| [7] | CH1MOD | PWM-timer 1 Auto-reload/One-shot Mode
0 = One-shot mode. 1 = Auto-reload mode. Note: If there is a rising transition at this bit, it will cause CNR1 and CMR1 cleared. |
| [8] | CH2EN | PWM-timer 2 Enable/Disable Start Run
0 = Corresponding PWM-timer running Stopped. 1 = Corresponding PWM-timer start run Enabled. |
| [10] | CH2INV | PWM-timer 2 Output Inverter Enable Control
0 = Inverter Disabled. 1 = Inverter Enabled. |
| [11] | CH2MOD | PWM-timer 2 Auto-reload/One-shot Mode
0 = One-shot mode. 1 = Auto-reload mode. Note: If there is a rising transition at this bit, it will cause CNR2 and CMR2 cleared. |
| [12] | CH3EN | PWM-timer 3 Enable/Disable Start Run
0 = Corresponding PWM-timer running Stopped. 1 = Corresponding PWM-timer start run Enabled. |
| [14] | CH3INV | PWM-timer 3 Output Inverter Enable Control
0 = Inverter Disabled. 1 = Inverter Enabled. |
| [15] | CH3MOD | PWM-timer 3 Auto-reload/One-shot Mode
0 = One-shot mode. 1 = Auto-reload mode. Note: If there is a rising transition at this bit, it will cause CNR3 and CMR3 cleared. |
| [16] | CH4EN | PWM-timer 4 Enable/Disable Start Run
0 = Corresponding PWM-timer running Stopped. 1 = Corresponding PWM-timer start run Enabled. |
| [18] | CH4INV | PWM-timer 4 Output Inverter Enable Control
0 = Inverter Disabled. 1 = Inverter Enabled. |
| [19] | CH4MOD | PWM-timer 4 Auto-reload/One-shot Mode
0 = One-shot mode. 1 = Auto-reload mode. Note: If there is a rising transition at this bit, it will cause CNR4 and CMR4 cleared. |
| [20] | CH5EN | PWM-timer 5 Enable/Disable Start Run
0 = Corresponding PWM-timer running Stopped. 1 = Corresponding PWM-timer start run Enabled. |
| [22] | CH5INV | PWM-timer 5 Output Inverter Enable Control
0 = Inverter Disabled. 1 = Inverter Enabled. |
| [23] | CH5MOD | PWM-timer 5 Auto-reload/One-shot Mode
0 = One-shot mode. 1 = Auto-reload mode. Note: If there is a rising transition at this bit, it will cause CNR5 and CMR5 cleared. |
| [24] | DZEN01 | Dead-zone 0 Generator Enable Control (PWM0 And PWM1 Pair For PWM Group)
0 = Disabled. 1 = Enabled. Note: When the dead-zone generator is enabled, the pair of PWM0 and PWM1 becomes a complementary pair for PWM group. |
| [25] | DZEN23 | Dead-zone 2 Generator Enable Control (PWM2 And PWM3 Pair For PWM Group)
0 = Disabled. 1 = Enabled. Note: When the dead-zone generator is enabled, the pair of PWM2 and PWM3 becomes a complementary pair for PWM group. |
| [26] | DZEN45 | Dead-zone 4 Generator Enable Control (PWM4 And PWM5 Pair For PWM Group)
0 = Disabled. 1 = Enabled. Note: When the dead-zone generator is enabled, the pair of PWM4 and PWM5 becomes a complementary pair for PWM group. |
| [27] | CLRPWM | Clear PWM Counter Control Bit
0 = Do not clear PWM counter. 1 = All 16-bit PWM counters cleared to 0x0000. Note: It is automatically cleared by hardware. |
| [29:28] | PWMMOD | PWM Operating Mode Selection
00 = Independent mode. 01 = Complementary mode. 10 = Synchronized mode. 11 = Reserved. |
| [30] | GRP | Group Bit
0 = The signals timing of all PWM channels are independent. 1 = Unify the signals timing of PWM0, PWM2 and PWM4 in the same phase which is controlled by PWM0 and also unify the signals timing of PWM1, PWM3 and PWM5 in the same phase which is controlled by PWM1. |
| [31] | PWMTYPE | PWM Aligned Type Selection Bit
0 = Edge-aligned type. 1 = Center-aligned type. |
Definition at line 6654 of file Mini51Series.h.
| PWM_T::PDZIR |
| Bits | Field | Descriptions |
| [7:0] | DZI01 | Dead-zone Interval Register For Pair Of Channel0 And Channel1 (PWM0 And PWM1 Pair)
These 8 bits determine dead-zone length. The unit time of dead-zone length is received from corresponding CSR bits. |
| [15:8] | DZI23 | Dead-zone Interval Register For Pair Of Channel2 And Channel3 (PWM2 And PWM3 Pair)
These 8 bits determine dead-zone length. The unit time of dead-zone length is received from corresponding CSR bits. |
| [23:16] | DZI45 | Dead-zone Interval Register For Pair Of Channel4 And Channel5 (PWM4 And PWM5 Pair)
These 8 bits determine dead-zone length. The unit time of dead-zone length is received from corresponding CSR bits. |
Definition at line 6664 of file Mini51Series.h.
| PWM_T::PFBCON |
| Bits | Field | Descriptions |
| [0] | BKEN0 | Enable BKP0 Pin Trigger Fault Brake Function 0
0 = Disabling BKP0 pin can trigger brake function 0 (EINT0 or CPO1). 1 = Enabling a falling at BKP0 pin can trigger brake function 0. |
| [1] | BKEN1 | Enable BKP1 Pin Trigger Fault Brake Function 1
0 = Disabling BKP1 pin can trigger brake function 1 (EINT1 or CPO0). 1 = Enabling a falling at BKP1 pin can trigger brake function 1. |
| [2] | CPO0BKEN | BKP1 Fault Brake Function Source Selection
0 = EINT1 as one brake source in BKP1. 1 = CPO0 as one brake source in BKP1. |
| [3] | CPO1BKEN | BKP0 Fault Brake Function Source Selection
0 = EINT0 as one brake source in BKP0. 1 = CPO1 as one brake source in BKP0. |
| [7] | BKF | PWM Fault Brake Event Flag (Write 1 Clear)
0 = PWM output initial state when fault brake conditions asserted. 1 = PWM output fault brake state when fault brake conditions asserted. Software can write 1 to clear this bit and must clear this bit before restart PWM counter. |
| [24] | PWMBKO0 | PWM Channel 0 Brake Output Select Bit
0 = PWM output low when fault brake conditions asserted. 1 = PWM output high when fault brake conditions asserted. |
| [25] | PWMBKO1 | PWM Channel 1 Brake Output Select Bit
0 = PWM output low when fault brake conditions asserted. 1 = PWM output high when fault brake conditions asserted. |
| [26] | PWMBKO2 | PWM Channel 2 Brake Output Select Bit
0 = PWM output low when fault brake conditions asserted. 1 = PWM output high when fault brake conditions asserted. |
| [27] | PWMBKO3 | PWM Channel 3 Brake Output Select Bit
0 = PWM output low when fault brake conditions asserted. 1 = PWM output high when fault brake conditions asserted. |
| [28] | PWMBKO4 | PWM Channel 4 Brake Output Select Bit
0 = PWM output low when fault brake conditions asserted. 1 = PWM output high when fault brake conditions asserted. |
| [29] | PWMBKO5 | PWM Channel 5 Brake Output Select Bit
0 = PWM output low when fault brake conditions asserted. 1 = PWM output high when fault brake conditions asserted. |
| [30] | D6BKO6 | D6 Brake Output Select Bit
0 = D6 output low when fault brake conditions asserted. 1 = D6 output high when fault brake conditions asserted. |
| [31] | D7BKO7 | D7 Brake Output Select Bit
0 = D7 output low when fault brake conditions asserted. 1 = D7 output high when fault brake conditions asserted. |
Definition at line 6663 of file Mini51Series.h.
| PWM_T::PHCHG |
| Bits | Field | Descriptions |
| [0] | D0 | D0: When PWM0 Is Zero, Channel 0's Output Waveform Is D0
0 = Output low. 1 = Output high. |
| [1] | D1 | D1: When PWM1 Is Zero, Channel 1's Output Waveform Is D1
0 = Output low. 1 = Output high. |
| [2] | D2 | D2: When PWM2 Is Zero, Channel 2's Output Waveform Is D2
0 = Output low. 1 = Output high. |
| [3] | D3 | D3: When PWM3 Is Zero, Channel 3's Output Waveform Is D3
0 = Output low. 1 = Output high. |
| [4] | D4 | D4: When PWM4 Is Zero, Channel 4's Output Waveform Is D4
0 = Output low. 1 = Output high. |
| [5] | D5 | D5: When PWM5 Is Zero, Channel 5's Output Waveform Is D5
0 = Output low. 1 = Output high. |
| [6] | D6 | D6: When MASK6 Is 1, Channel 6's Output Waveform Is D6
0 = Output low. 1 = Output high. |
| [7] | D7 | D7: When MASK7 Is 1, Channel 7's Output Waveform Is D7
0 = Output low. 1 = Output high. |
| [8] | PWM0 | PWM Channel 0 Output Enable Control
0 = Output D0 specified in bit 0 of PHCHG register. 1 = Output the original channel 0 waveform. |
| [9] | PWM1 | PWM Channel 1 Output Enable Control
0 = Output D1 specified in bit 1 of PHCHG register. 1 = Output the original channel 1 waveform. |
| [10] | PWM2 | PWM Channel 2 Output Enable Control
0 = Output D2 specified in bit 2 of PHCHG register. 1 = Output the original channel 2 waveform. |
| [11] | PWM3 | PWM Channel 3 Output Enable Control
0 = Output D3 specified in bit 3 of PHCHG register. 1 = Output the original channel 3 waveform. |
| [12] | PWM4 | PWM Channel 4 Output Enable Control
0 = Output D4 specified in bit 4 of PHCHG register. 1 = Output the original channel 4 waveform. |
| [13] | PWM5 | PWM Channel 5 Output Enable Control
0 = Output D5 specified in bit 5 of PHCHG register. 1 = Output the original channel 5 waveform. |
| [14] | ACCNT0 | Hardware Auto Clear CE0 When ACMP0 Trigger It
0 = Enabled. 1 = Disabled. |
| [15] | ACCNT1 | Hardware Auto Clear CE1 When ACMP1 Trigger It
0 = Enabled. 1 = Disabled. |
| [16] | CH01TOFF1 | Setting This Bit Will Force PWM0 To Output Low Lasting For At Most One Period Cycle As Long As ACMP1 Trigger It; This Feature Is Usually In Step Motor Application
0 = Disabled. 1 = Enabled. Note: only for PWM0,PWM1,PWM2,PWM3. |
| [17] | CH11TOFF1 | Setting This Bit Will Force PWM1 To Output Low Lasting For At Most One Period Cycle As Long As ACMP1 Trigger It; This Feature Is Usually In Step Motor Application
0 = Disabled. 1 = Enabled. Note: Only for PWM0, PWM1, PWM2, PWM3. |
| [18] | CH21TOFF1 | Setting This Bit Will Force PWM2 To Output Low Lasting For At Most One Period Cycle As Long As ACMP1 Trigger It; This Feature Is Usually In Step Motor Application
0 = Disabled. 1 = Enabled. Note: Only for PWM0, PWM1, PWM2, PWM3. |
| [19] | CH31TOFF1 | Setting This Bit Will Force PWM3 To Output Low Lasting For At Most One Period Cycle As Long As ACMP1 Trigger It; This Feature Is Usually In Step Motor Application
0 = Disabled. 1 = Enabled. Note: Only for PWM0, PWM1, PWM2, PWM3. |
| [21:20] | CMP1SEL | CMP1SEL
Select the positive input source of ACMP1. 00 = Select P3.1 as the input of ACMP1. 01 = Select P3.2 as the input of ACMP1. 10 = Select P3.3 as the input of ACMP1. 11 = Select P3.4 as the input of ACMP1. |
| [22] | T1 | Timer1 Trigger PWM Function Enable Control
0 = Disabled. 1 = Enabled. When this bit is set, timer1 time-out event will update PHCHG with PHCHG_NXT register. |
| [23] | CE1 | ACMP1 Trigger Function Enable Control
0 = Disabled. 1 = Enabled. Note: This bit will be auto cleared when ACMP1 trigger PWM if ACCNT1 is set. |
| [24] | CH01TOFF0 | Setting This Bit Will Force PWM0 To Output Low Lasting For At Most One Period Cycle As Long As ACMP0 Trigger It; This Feature Is Usually In Step Motor Application
0 = Disabled. 1 = Enabled. Note: Only for PWM0, PWM1, PWM2, PWM3. |
| [25] | CH11TOFF0 | Setting This Bit Will Force PWM1 To Output Low Lasting For At Most One Period Cycle As Long As ACMP0 Trigger It; This Feature Is Usually In Step Motor Application
0 = Disabled. 1 = Enabled. Note: Only for PWM0, PWM1, PWM2, PWM3. |
| [26] | CH21TOFF0 | Setting This Bit Will Force PWM2 To Output Low Lasting For At Most One Period Cycle As Long As ACMP0 Trigger It; This Feature Is Usually In Step Motor Application
0 = Disabled. 1 = Enabled. Note: Only for PWM0, PWM1, PWM2, PWM3. |
| [27] | CH31TOFF0 | Setting This Bit Will Force PWM3 To Output Low Lasting For At Most One Period Cycle As Long As ACMP0 Trigger It; This Feature Is Usually In Step Motor Application
0 = Disabled. 1 = Enabled. Note: Only for PWM0, PWM1, PWM2, PWM3. |
| [29:28] | CMP0SEL | CMP0SEL
Select the positive input source of ACMP0. 00 = Select P1.5 as the input of ACMP0. 01 = Select P1.0 as the input of ACMP0. 10 = Select P1.2 as the input of ACMP0. 11 = Select P1.3 as the input of ACMP0. |
| [30] | T0 | Timer0 Trigger PWM Function Enable Control
0 = Disabled. 1 = Enabled. When this bit is set, timer0 time-out event will update PHCHG with PHCHG_NXT register. |
| [31] | CE0 | ACMP0 Trigger Function Enable Control
0 = Disabled. 1 = Enabled. Note: This bit will be auto cleared when ACMP0 trigger PWM if ACCNT0 is set. |
Definition at line 6669 of file Mini51Series.h.
| PWM_T::PHCHGMASK |
| Bits | Field | Descriptions |
| [6] | MASK6 | MASK For D6
0 = Original GPIO P0.1. 1 = D6. |
| [7] | MASK7 | MASK For D7
0 = Original GPIO P0.0. 1 = D7. |
| [8] | CMPMASK0 | MASK For ACMP0
0 = The input of ACMP is controlled by CMP0CR. 1 = The input of ACMP is controlled by CMP0SEL of PHCHG register. Note: Register CMP0CR is describe in Comparator Controller chapter |
| [9] | CMPMASK1 | MASK For ACMP1
0 = The input of ACMP is controlled by CMP1CR. 1 = The input of ACMP is controlled by CMP1SEL of PHCHG register. Note: Register CMP1CR is describe in Comparator Controller chapter |
Definition at line 6671 of file Mini51Series.h.
| PWM_T::PHCHGNXT |
| Bits | Field | Descriptions |
| [0] | D0 | D0: When PWM0 Is Zero, Channel 0's Output Waveform Is D0
0 = Output low. 1 = Output high. |
| [1] | D1 | D1: When PWM1 Is Zero, Channel 1's Output Waveform Is D1
0 = Output low. 1 = Output high. |
| [2] | D2 | D2: When PWM2 Is Zero, Channel 2's Output Waveform Is D2
0 = Output low. 1 = Output high. |
| [3] | D3 | D3: When PWM3 Is Zero, Channel 3's Output Waveform Is D3
0 = Output low. 1 = Output high. |
| [4] | D4 | D4: When PWM4 Is Zero, Channel 4's Output Waveform Is D4
0 = Output low. 1 = Output high. |
| [5] | D5 | D5: When PWM5 Is Zero, Channel 5's Output Waveform Is D5
0 = Output low. 1 = Output high. |
| [6] | D6 | D6: When MASK6 Is 1, Channel 6's Output Waveform Is D6
0 = Output low. 1 = Output high. |
| [7] | D7 | D7: When MASK7 Is 1, Channel 7's Output Waveform Is D7
0 = Output low. 1 = Output high. |
| [8] | PWM0 | PWM Channel 0 Output Enable Control
0 = Output D0 specified in bit 0 of PHCHG register. 1 = Output the original channel 0 waveform. |
| [9] | PWM1 | PWM Channel 1 Output Enable Control
0 = Output D1 specified in bit 1 of PHCHG register. 1 = Output the original channel 1 waveform. |
| [10] | PWM2 | PWM Channel 2 Output Enable Control
0 = Output D2 specified in bit 2 of PHCHG register. 1 = Output the original channel 2 waveform. |
| [11] | PWM3 | PWM Channel 3 Output Enable Control
0 = Output D3 specified in bit 3 of PHCHG register. 1 = Output the original channel 3 waveform. |
| [12] | PWM4 | PWM Channel 4 Output Enable Control
0 = Output D4 specified in bit 4 of PHCHG register. 1 = Output the original channel 4 waveform. |
| [13] | PWM5 | PWM Channel 5 Output Enable Control
0 = Output D5 specified in bit 5 of PHCHG register. 1 = Output the original channel 5 waveform. |
| [14] | ACCNT0 | Hardware Auto Clear CE0 When ACMP0 Trigger It
0 = Enabled. 1 = Disabled. |
| [15] | ACCNT1 | Hardware Auto Clear CE1 When ACMP1 Trigger It
0 = Enabled. 1 = Disabled. |
| [16] | CH01TOFF1 | Setting This Bit Will Force PWM0 To Output Low Lasting For At Most One Period Cycle As Long As ACMP1 Trigger It; This Feature Is Usually In Step Motor Application
0 = Disabled. 1 = Enabled. Note: only for PWM0,PWM1,PWM2,PWM3. |
| [17] | CH11TOFF1 | Setting This Bit Will Force PWM1 To Output Low Lasting For At Most One Period Cycle As Long As ACMP1 Trigger It; This Feature Is Usually In Step Motor Application
0 = Disabled. 1 = Enabled. Note: Only for PWM0, PWM1, PWM2, PWM3. |
| [18] | CH21TOFF1 | Setting This Bit Will Force PWM2 To Output Low Lasting For At Most One Period Cycle As Long As ACMP1 Trigger It; This Feature Is Usually In Step Motor Application
0 = Disabled. 1 = Enabled. Note: Only for PWM0, PWM1, PWM2, PWM3. |
| [19] | CH31TOFF1 | Setting This Bit Will Force PWM3 To Output Low Lasting For At Most One Period Cycle As Long As ACMP1 Trigger It; This Feature Is Usually In Step Motor Application
0 = Disabled. 1 = Enabled. Note: Only for PWM0, PWM1, PWM2, PWM3. |
| [21:20] | CMP1SEL | CMP1SEL
Select the positive input source of ACMP1. 00 = Select P3.1 as the input of ACMP1. 01 = Select P3.2 as the input of ACMP1. 10 = Select P3.3 as the input of ACMP1. 11 = Select P3.4 as the input of ACMP1. |
| [22] | T1 | Timer1 Trigger PWM Function Enable Control
0 = Disabled. 1 = Enabled. When this bit is set, timer1 time-out event will update PHCHG with PHCHG_NXT register. |
| [23] | CE1 | ACMP1 Trigger Function Enable Control
0 = Disabled. 1 = Enabled. Note: This bit will be auto cleared when ACMP1 trigger PWM if ACCNT1 is set. |
| [24] | CH01TOFF0 | Setting This Bit Will Force PWM0 To Output Low Lasting For At Most One Period Cycle As Long As ACMP0 Trigger It; This Feature Is Usually In Step Motor Application
0 = Disabled. 1 = Enabled. Note: Only for PWM0, PWM1, PWM2, PWM3. |
| [25] | CH11TOFF0 | Setting This Bit Will Force PWM1 To Output Low Lasting For At Most One Period Cycle As Long As ACMP0 Trigger It; This Feature Is Usually In Step Motor Application
0 = Disabled. 1 = Enabled. Note: Only for PWM0, PWM1, PWM2, PWM3. |
| [26] | CH21TOFF0 | Setting This Bit Will Force PWM2 To Output Low Lasting For At Most One Period Cycle As Long As ACMP0 Trigger It; This Feature Is Usually In Step Motor Application
0 = Disabled. 1 = Enabled. Note: Only for PWM0, PWM1, PWM2, PWM3. |
| [27] | CH31TOFF0 | Setting This Bit Will Force PWM3 To Output Low Lasting For At Most One Period Cycle As Long As ACMP0 Trigger It; This Feature Is Usually In Step Motor Application
0 = Disabled. 1 = Enabled. Note: Only for PWM0, PWM1, PWM2, PWM3. |
| [29:28] | CMP0SEL | CMP0SEL
Select the positive input source of ACMP0. 00 = Select P1.5 as the input of ACMP0. 01 = Select P1.0 as the input of ACMP0. 10 = Select P1.2 as the input of ACMP0. 11 = Select P1.3 as the input of ACMP0. |
| [30] | T0 | Timer0 Trigger PWM Function Enable Control
0 = Disabled. 1 = Enabled. When this bit is set, timer0 time-out event will update PHCHG with PHCHG_NXT register. |
| [31] | CE0 | ACMP0 Trigger Function Enable Control
0 = Disabled. 1 = Enabled. Note: This bit will be auto cleared when ACMP0 trigger PWM if ACCNT0 is set. |
Definition at line 6670 of file Mini51Series.h.
| PWM_T::PIER |
| Bits | Field | Descriptions |
| [0] | PWMPIE0 | PWM Channel 0 Period Interrupt Enable Control
0 = Disabled. 1 = Enabled. |
| [1] | PWMPIE1 | PWM Channel 1 Period Interrupt Enable Control
0 = Disabled. 1 = Enabled. |
| [2] | PWMPIE2 | PWM Channel 2 Period Interrupt Enable Control
0 = Disabled. 1 = Enabled. |
| [3] | PWMPIE3 | PWM Channel 3 Period Interrupt Enable Control
0 = Disabled. 1 = Enabled. |
| [4] | PWMPIE4 | PWM Channel 4 Period Interrupt Enable Control
0 = Disabled. 1 = Enabled. |
| [5] | PWMPIE5 | PWM Channel 5 Period Interrupt Enable Control
0 = Disabled. 1 = Enabled. |
| [8] | PWMDIE0 | PWM Channel 0 Duty Interrupt Enable Control
0 = Disabled. 1 = Enabled. |
| [9] | PWMDIE1 | PWM Channel 1 Duty Interrupt Enable Control
0 = Disabled. 1 = Enabled. |
| [10] | PWMDIE2 | PWM Channel 2 Duty Interrupt Enable Control
0 = Disabled. 1 = Enabled. |
| [11] | PWMDIE3 | PWM Channel 3 Duty Interrupt Enable Control
0 = Disabled. 1 = Enabled. |
| [12] | PWMDIE4 | PWM Channel 4 Duty Interrupt Enable Control
0 = Disabled. 1 = Enabled. |
| [13] | PWMDIE5 | PWM Channel 5 Duty Interrupt Enable Control
0 = Disabled. 1 = Enabled. |
| [16] | BRKIE | Fault Brake0 And 1 Interrupt Enable Control
0 = Disabling flags BKF0 and BKF1 to trigger PWM interrupt. 1 = Enabling flags BKF0 and BKF1 can trigger PWM interrupt. |
| [17] | INT_TYPE | PWM Interrupt Type Selection Bit
0 = PWMPIFn will be set if PWM counter underflows. 1 = PWMPIFn will be set if PWM counter matches CNRn register. Note: This bit is effective when PWM in central align mode only. |
Definition at line 6660 of file Mini51Series.h.
| PWM_T::PIIR |
| Bits | Field | Descriptions |
| [0] | PWMPIF0 | PWM Channel 0 Period Interrupt Flag
Flag is set by hardware when PWM0 down counter reaches zero. Note: Software can write 1 to clear this bit. |
| [1] | PWMPIF1 | PWM Channel 1 Period Interrupt Flag
Flag is set by hardware when PWM1 down counter reaches zero. Note: Software can write 1 to clear this bit. |
| [2] | PWMPIF2 | PWM Channel 2 Period Interrupt Flag
Flag is set by hardware when PWM2 down counter reaches zero. Note: Software can write 1 to clear this bit. |
| [3] | PWMPIF3 | PWM Channel 3 Period Interrupt Flag
Flag is set by hardware when PWM3 down counter reaches zero. Note: Software can write 1 to clear this bit. |
| [4] | PWMPIF4 | PWM Channel 4 Period Interrupt Flag
Flag is set by hardware when PWM4 down counter reaches zero. Note: Software can write 1 to clear this bit. |
| [5] | PWMPIF5 | PWM Channel 5 Period Interrupt Flag
Flag is set by hardware when PWM5 down counter reaches zero. Note: Software can write 1 to clear this bit. |
| [8] | PWMDIF0 | PWM Channel 0 Duty Interrupt Flag
Flag is set by hardware when a channel 0 PWM counter reaches CMR0 in down-count direction. Note: Software can write 1 to clear this bit. |
| [9] | PWMDIF1 | PWM Channel 1 Duty Interrupt Flag
Flag is set by hardware when a channel 1 PWM counter reaches CMR1 in down-count direction. Note: Software can write 1 to clear this bit. |
| [10] | PWMDIF2 | PWM Channel 2 Duty Interrupt Flag
Flag is set by hardware when a channel 2 PWM counter reaches CMR2 in down-count direction. Note: Software can write 1 to clear this bit. |
| [11] | PWMDIF3 | PWM Channel 3 Duty Interrupt Flag
Flag is set by hardware when a channel 3 PWM counter reaches CMR3 in down-count direction. Note: Software can write 1 to clear this bit. |
| [12] | PWMDIF4 | PWM Channel 4 Duty Interrupt Flag
Flag is set by hardware when a channel 4 PWM counter reaches CMR4 in down-count direction. Note: Software can write 1 to clear this bit. |
| [13] | PWMDIF5 | PWM Channel 5 Duty Interrupt Flag
Flag is set by hardware when a channel 5 PWM counter reaches CMR5 in down-count direction. Note: Software can write 1 to clear this bit. |
| [16] | BKF0 | PWM Brake0 Flag
0 = PWM Brake does not recognize a falling signal at BKP0. 1 = When PWM Brake detects a falling signal at pin BKP0, this flag will be set to high. Note: Software can write 1 to clear this bit. |
| [17] | BKF1 | PWM Brake1 Flag
0 = PWM Brake does not recognize a falling signal at BKP1. 1 = When PWM Brake detects a falling signal at pin BKP1, this flag will be set to high. Note: Software can write 1 to clear this bit. |
Definition at line 6661 of file Mini51Series.h.
| PWM_T::POE |
| Bits | Field | Descriptions |
| [0] | PWM0 | PWM Channel 0 Output Enable Control
0 = PWM channel 0 output to pin Disabled. 1 = PWM channel 0 output to pin Enabled. Note: The corresponding GPIO pin must be switched to PWM function. |
| [1] | PWM1 | PWM Channel 1 Output Enable Control
0 = PWM channel 1 output to pin Disabled. 1 = PWM channel 1 output to pin Enabled. Note: The corresponding GPIO pin must be switched to PWM function. |
| [2] | PWM2 | PWM Channel 2 Output Enable Control
0 = PWM channel 2 output to pin Disabled. 1 = PWM channel 2 output to pin Enabled. Note: The corresponding GPIO pin must be switched to PWM function. |
| [3] | PWM3 | PWM Channel 3 Output Enable Control
0 = PWM channel 3 output to pin Disabled. 1 = PWM channel 3 output to pin Enabled. Note: The corresponding GPIO pin must be switched to PWM function. |
| [4] | PWM4 | PWM Channel 4 Output Enable Control
0 = PWM channel 4 output to pin Disabled. 1 = PWM channel 4 output to pin Enabled. Note: The corresponding GPIO pin must be switched to PWM function. |
| [5] | PWM5 | PWM Channel 5 Output Enable Control
0 = PWM channel 5 output to pin Disabled. 1 = PWM channel 5 output to pin Enabled. Note: The corresponding GPIO pin must be switched to PWM function. |
Definition at line 6662 of file Mini51Series.h.
| PWM_T::PPR |
| Bits | Field | Descriptions |
| [7:0] | CP01 | Clock Prescaler 0 For PWM Counter 0 And 1
Clock input is divided by (CP01 + 1) before it is fed to the corresponding PWM counter. If CP01 = 0, the clock prescaler 0 output clock will be stopped. So the corresponding PWM counter will also be stopped. |
| [15:8] | CP23 | Clock Prescaler 2 For PWM Counter 2 And 3
Clock input is divided by (CP23 + 1) before it is fed to the corresponding PWM counter. If CP23 = 0, the clock prescaler 2 output clock will be stopped. So the corresponding PWM counter will also be stopped. |
| [23:16] | CP45 | Clock Prescaler 4 For PWM Counter 4 And 5
Clock input is divided by (CP45 + 1) before it is fed to the corresponding PWM counter. If CP45 = 0, the clock prescaler 4 output clock will be stopped. So the corresponding PWM counter will also be stopped. |
Definition at line 6652 of file Mini51Series.h.
| PWM_T::TRGCON0 |
| Bits | Field | Descriptions |
| [0] | CM0TRGREN | Enable PWM Trigger ADC Function While Channel0's Counter Matching CMR0 In Up-count Direction
0 = Disabled. 1 = Enabled. Note: This bit is only valid for PWM in center aligned mode. When PWM is in edged aligned mode, setting this bit is meaningless and will not take any effect. |
| [1] | CNT0TRGEN | Enable PWM Trigger ADC Function While Channel0's Counter Matching CNR0
0 = Disabled. 1 = Enabled. Note: This bit is only valid for PWM in center aligned mode. When PWM is in edged aligned mode, setting this bit is meaningless and will not take any effect. |
| [2] | CM0TRGFEN | Enable PWM Trigger ADC Function While Channel0's Counter Matching CMR0 In Down-count Direction
0 = Disabled. 1 = Enabled. Note: This bit is valid for both center aligned mode and edged aligned mode. |
| [3] | P0TRGEN | Enable PWM Trigger ADC Function While Channel0's Counter Matching 0
0 = Disabled. 1 = Enabled. Note: This bit is valid for both center aligned mode and edged aligned mode. |
| [8] | CM1TRGREN | Enable PWM Trigger ADC Function While Channel1's Counter Matching CMR1 In Up-count Direction
0 = Disabled. 1 = Enabled. Note: This bit is only valid for PWM in center aligned mode. When PWM is in edged aligned mode, setting this bit is meaningless and will not take any effect. |
| [9] | CNT1TRGEN | Enable PWM Trigger ADC Function While Channel1's Counter Matching CNR1
0 = Disabled. 1 = Enabled. Note: This bit is only valid for PWM in center aligned mode. When PWM is in edged aligned mode, setting this bit is meaningless and will not take any effect. |
| [10] | CM1TRGFEN | Enable PWM Trigger ADC Function While Channel1's Counter Matching CMR1 In Down-count Direction
0 = Disabled. 1 = Enabled. Note: This bit is valid for both center aligned mode and edged aligned mode. |
| [11] | P1TRGEN | Enable PWM Trigger ADC Function While Channel1's Counter Matching 0
0 = Disabled. 1 = Enabled. Note: This bit is valid for both center aligned mode and edged aligned mode. |
| [16] | CM2TRGREN | Enable PWM Trigger ADC Function While Channel2's Counter Matching CMR2 In Up-count Direction
0 = Disabled. 1 = Enabled. Note: This bit is only valid for PWM in center aligned mode. When PWM is in edged aligned mode, setting this bit is meaningless and will not take any effect. |
| [17] | CNT2TRGEN | Enable PWM Trigger ADC Function While Channel2's Counter Matching CNR2
0 = Disabled. 1 = Enabled. Note: This bit is only valid for PWM in center aligned mode. When PWM is in edged aligned mode, setting this bit is meaningless and will not take any effect. |
| [18] | CM2TRGFEN | Enable PWM Trigger ADC Function While Channel2's Counter Matching CMR2 In Down-count Direction
0 = Disabled. 1 = Enabled. Note: This bit is valid for both center aligned mode and edged aligned mode. |
| [19] | P2TRGEN | Enable PWM Trigger ADC Function While Channel2's Counter Matching 0
0 = Disabled. 1 = Enabled. Note: This bit is valid for both center aligned mode and edged aligned mode. |
| [24] | CM3TRGREN | Enable PWM Trigger ADC Function While Channel3's Counter Matching CMR3 In Up-count Direction
0 = Disabled. 1 = Enabled. Note: This bit is only valid for PWM in center aligned mode. When PWM is in edged aligned mode, setting this bit is meaningless and will not take any effect. |
| [25] | CNT3TRGEN | Enable PWM Trigger ADC Function While Channel3's Counter Matching CNR3
0 = Disabled. 1 = Enabled. Note: This bit is only valid for PWM in center aligned mode. When PWM is in edged aligned mode, setting this bit is meaningless and will not take any effect. |
| [26] | CM3TRGFEN | Enable PWM Trigger ADC Function While Channel3's Counter Matching CMR3 In Down-count Direction
0 = Disabled. 1 = Enabled. Note: This bit is valid for both center aligned mode and edged aligned mode. |
| [27] | P3TRGEN | Enable PWM Trigger ADC Function While Channel3's Counter Matching 0
0 = Disabled. 1 = Enabled. Note: This bit is valid for both center aligned mode and edged aligned mode. |
Definition at line 6665 of file Mini51Series.h.
| PWM_T::TRGCON1 |
| Bits | Field | Descriptions |
| [0] | CM4TRGREN | Enable PWM Trigger ADC Function While Channel4's Counter Matching CMR4 In Up-count Direction
0 = Disabled. 1 = Enabled. Note: This bit is only valid for PWM in center aligned mode. When PWM is in edged aligned mode, setting this bit is meaningless and will not take any effect. |
| [1] | CNT4TRGEN | Enable PWM Trigger ADC Function While Channel4's Counter Matching CNR4
0 = Disabled. 1 = Enabled. Note: This bit is only valid for PWM in center aligned mode. When PWM is in edged aligned mode, setting this bit is meaningless and will not take any effect. |
| [2] | CM4TRGFEN | Enable PWM Trigger ADC Function While Channel4's Counter Matching CMR4 In Down-count Direction
0 = Disabled. 1 = Enabled. Note: This bit is valid for both center aligned mode and edged aligned mode. |
| [3] | P4TRGEN | Enable PWM Trigger ADC Function While Channel4's Counter Matching 0
0 = Disabled. 1 = Enabled. Note: This bit is valid for both center aligned mode and edged aligned mode. |
| [8] | CM5TRGREN | Enable PWM Trigger ADC Function While Channel5's Counter Matching CMR5 In Up-count Direction
0 = Disabled. 1 = Enabled. Note: This bit is only valid for PWM in center aligned mode. When PWM is in edged aligned mode, setting this bit is meaningless and will not take any effect. |
| [9] | CNT5TRGEN | Enable PWM Trigger ADC Function While Channel5's Counter Matching CNR5
0 = Disabled. 1 = Enabled. Note: This bit is only valid for PWM in center aligned mode. When PWM is in edged aligned mode, setting this bit is meaningless and will not take any effect. |
| [10] | CM5TRGFEN | Enable PWM Trigger ADC Function While Channel5's Counter Matching CMR5 In Down-count Direction
0 = Disabled. 1 = Enabled. Note: This bit is valid for both center aligned mode and edged aligned mode. |
| [11] | P5TRGEN | Enable PWM Trigger ADC Function While Channel5's Counter Matching 0
0 = Disabled. 1 = Enabled. Note: This bit is valid for both center aligned mode and edged aligned mode. |
Definition at line 6666 of file Mini51Series.h.
| PWM_T::TRGSTS0 |
| Bits | Field | Descriptions |
| [0] | CMR0FLAG_R | ADC Trigger Flag By Counting Up To CMR
Note: Software can write 1 to clear this bit. |
| [1] | CNT0FLAG | ADC Trigger Flag By Counting To CNR
Note: Software can write 1 to clear this bit. |
| [2] | CMR0FLAG_F | ADC Trigger Flag By Counting Down To CMR
Note: Software can write 1 to clear this bit. |
| [3] | PERID0FLAG | ADC Trigger Flag By Period
Note: Software can write 1 to clear this bit. |
| [8] | CMR1FLAG_R | ADC Trigger Flag By Counting Up To CMR
Note: Software can write 1 to clear this bit. |
| [9] | CNT1FLAG | ADC Trigger Flag By Counting To CNR
Note: Software can write 1 to clear this bit. |
| [10] | CMR1FLAG_F | ADC Trigger Flag By Counting Down To CMR
Note: Software can write 1 to clear this bit. |
| [11] | PERID1FLAG | ADC Trigger Flag By Period
Note: Software can write 1 to clear this bit. |
| [16] | CMR2FLAG_R | ADC Trigger Flag By Counting Up To CMR
Note: Software can write 1 to clear this bit. |
| [17] | CNT2FLAG | ADC Trigger Flag By Counting To CNR
Note: Software can write 1 to clear this bit. |
| [18] | CMR2FLAG_F | ADC Trigger Flag By Counting Down To CMR
Note: Software can write 1 to clear this bit. |
| [19] | PERID2FLAG | ADC Trigger Flag By Period
Note: Software can write 1 to clear this bit. |
| [24] | CMR3FLAG_R | When Counter Counting Up To CMR, This Bit Will Be Set For Trigger ADC
Note: Software can write 1 to clear this bit. |
| [25] | CNT3FLAG | When Counter Counting To CNR, This Bit Will Be Set For Trigger ADC
Note: Software can write 1 to clear this bit. |
| [26] | CMR3FLAG_F | When Counter Counting Down To CMR, This Bit Will Be Set For Trigger ADC
Note: Software can write 1 to clear this bit. |
| [27] | PERID3FLAG | When Counter Counting To Period, This Bit Will Be Set For Trigger ADC
Note: Software can write 1 to clear this bit. |
Definition at line 6667 of file Mini51Series.h.
| PWM_T::TRGSTS1 |
| Bits | Field | Descriptions |
| [0] | CMR4FLAG_R | ADC Trigger Flag By Counting Up To CMR
Note: Software can write 1 to clear this bit. |
| [1] | CNT4FLAG | ADC Trigger Flag By Counting To CNR
Note: Software can write 1 to clear this bit. |
| [2] | CMR4FLAG_F | ADC Trigger Flag By Counting Down To CMR
Note: Software can write 1 to clear this bit. |
| [3] | PERID4FLAG | ADC Trigger Flag By Period
Note: Software can write 1 to clear this bit. |
| [8] | CMR5FLAG_R | ADC Trigger Flag By Counting Up To CMR
Note: Software can write 1 to clear this bit. |
| [9] | CNT5FLAG | ADC Trigger Flag By Counting To CNR
Note: Software can write 1 to clear this bit. |
| [10] | CMR5FLAG_F | ADC Trigger Flag By Counting Down To CMR
Note: Software can write 1 to clear this bit. |
| [11] | PERID5FLAG | ADC Trigger Flag By Period
Note: Software can write 1 to clear this bit. |
Definition at line 6668 of file Mini51Series.h.


I'm Zimu, an enthusiastic computer scientist and software engineer. I obtained my M.A.Sc. and Ph.D degree in the Department of Electrical and Computer Engineering, University of Toronto, and started my career at 500px in 2014 as a Software Developer. In 500px, I grew into a Senior Software Developer, and then Web Team Lead, focusing on the front-end, back-end, and various proprietary algorithms of 500px.com. I'm currently an Engineering Manager, leading both the Web team and Innovation team at 500px.
Other than 500px, which is literally my first full-time job, I has been working in various places as independent contributor or consultant over the past few years.
During my graduate studies, my research interests included design and implementation of reusable frameworks for mobile applications and cloud services, measurement studies on large-scale peer-to-peer applications and distributed systems, and applications of network coding on Internet protocols.


Introduction¶
Version 1.8.2 for version 1.8 of the CF conventions.
The Python cfdm package is a complete implementation of the CF data model.
Functionality¶
The cfdm package implements the CF data model 1 for its internal data structures and so is able to process any CF-compliant dataset. It is not strict about CF-compliance, however, so that partially conformant datasets may be ingested from existing datasets and written to new datasets.This is so that datasets which are partially conformant may nonetheless be modified in memory.
>>> import cfdm
>>> f = cfdm.read('file.nc')
>>> f
[<Field: air_temperature(time(12), latitude(64), longitude(128)) K>]
>>> print(f[0])
Field: air_temperature (ncvar%tas)
----------------------------------
Data : air_temperature(time(12), latitude(64), longitude(128)) K
Cell methods : time(12): mean (interval: 1.0 month)
Dimension coords: time(12) = [0450-11-16 00:00:00, ..., 0451-10-16 12:00:00] noleap
: latitude(64) = [-87.8638, ..., 87.8638] degrees_north
: longitude(128) = [0.0, ..., 357.1875] degrees_east
: height(1) = [2.0] m
The cfdm package can
read field constructs from netCDF and CDL datasets,
create new field constructs in memory,
inspect field constructs,
test whether two field constructs are the same,
modify field construct metadata and data,
create subspaces of field constructs,
write field constructs to netCDF datasets on disk,
incorporate, and create, metadata stored in external files,
read, write, and create data that have been compressed by convention (i.e. ragged or gathered arrays), whilst presenting a view of the data in its uncompressed form, and
read, write, and create coordinates defined by geometry cells (new in version 1.8.0).
Note that cfdm enables the creation of CF field constructs, but it’s up to the user to use them in a CF-compliant way.
The cfdm package has, with few exceptions, only the functionality required to read and write datasets, and to create, modify and inspect field constructs in memory.
Hierarchical groups¶
Hierarchical groups provide a powerful mechanism to structure variables within datasets. A future 1.8.x release of cfdm will include support for netCDF4 files containing data organised in hierarchical groups, but this is not available in version 1.8.2 (even though it is allowed in CF-1.8).
Additional functionality¶
The cf-python and cf-plot packages, which are both are built on top of the cfdm package, include higher level functionality, such as regridding, statistical operations and comprehensive visualisation.
- 1
Hassell, D., Gregory, J., Blower, J., Lawrence, B. N., and Taylor, K. E.: A data model of the Climate and Forecast metadata conventions (CF-1.6) with a software implementation (cf-python v2.1), Geosci. Model Dev., 10, 4619-4646, https://doi.org/10.5194/gmd-10-4619-2017, 2017.


ecef2aer convert ECEF of target to azimuth, elevation, slant range from observer Inputs ------ x,y,z: Earth Centered Earth Fixed (ECEF) coordinates of test point (meters) lat0, lon0, alt0: ellipsoid geodetic coordinates of observer/reference (degrees, degrees, meters) spheroid: referenceEllipsoid parameter struct angleUnit: string for angular units. Default 'd': degrees Outputs ------- az, el, slantrange: look angles and distance to point under test (degrees, degrees, meters) az: azimuth clockwise from local north el: elevation angle above local horizon
0001 function [az, el, slantRange] = ecef2aer(x, y, z, lat0, lon0, alt0, spheroid, angleUnit) 0002 %ecef2aer convert ECEF of target to azimuth, elevation, slant range from observer 0003 % 0004 % Inputs 0005 % ------ 0006 % x,y,z: Earth Centered Earth Fixed (ECEF) coordinates of test point (meters) 0007 % lat0, lon0, alt0: ellipsoid geodetic coordinates of observer/reference (degrees, degrees, meters) 0008 % spheroid: referenceEllipsoid parameter struct 0009 % angleUnit: string for angular units. Default 'd': degrees 0010 % 0011 % Outputs 0012 % ------- 0013 % az, el, slantrange: look angles and distance to point under test (degrees, degrees, meters) 0014 % az: azimuth clockwise from local north 0015 % el: elevation angle above local horizon 0016 0017 if nargin < 7, spheroid = []; end 0018 if nargin < 8, angleUnit= []; end 0019 0020 [e, n, u] = ecef2enu(x, y, z, lat0, lon0, alt0, spheroid, angleUnit); 0021 [az,el,slantRange] = enu2aer(e, n, u, angleUnit); 0022 0023 end 0024 0025 % Copyright (c) 2014-2018 Michael Hirsch, Ph.D. 0026 % Copyright (c) 2013, Felipe Geremia Nievinski 0027 % 0028 % Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 0029 % 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 0030 % 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 0031 % THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.


---
title: Indicators and overlays
description: The Stock Indicators for .NET library contains financial market technical analysis methods to view price patterns or to develop your own trading strategies in Microsoft .NET programming languages and developer platforms. Categories include price trends, price channels, oscillators, stop and reverse, candlestick patterns, volume and momentum, moving averages, price transforms, price characteristics, and many classic numerical methods.
permalink: /indicators/
layout: base
---


Portable Regular Expressions
MirageOS targets different backends: micro-kernels for the Xen hypervisor, Unix executables and Javascript programs. The recent inclusion of the Javascript backend makes many C bindings unsuitable. In order to push backend incompatibilities closer to the application level, it is necessary to either reimplement the C bindings in Javascript or OCaml, or remove them completely. This is particularly important for the standard library.
The Str
module has to go!
Str
provides regular expressions in a non-reentrant, non-functional fashion.
While the OCaml distribution provides it in otherlibs
, it is installed by
default and so widely used, and implemented under the hood via a C library.
Regular expressions are used in several places in MirageOS, mainly for small
operations (splitting, getting an offset, etc.), and so having a portable
fallback written in pure OCaml would be very useful.
There are several possible ways to replace the Str
module, each with its own
set of perks and drawbacks:
* Use a backend-neutral regexp library which “translates” to either Str
or Pcre
for the Xen and Unix backends or Javascript native regexps for
the Javascript backend. This solution may be hard to maintain, especially if a
fourth backend is to be included. Moreover each regexp library uses a slightly
different convention for regexps (e.g. see the
magic option in
vim) which means that a lot of translation code might be needed.
* Do string processing without regexps (using String.index
and the likes).
This solution is portable and potentially efficient. However, the potential
efficiency comes from a low-level way of doing things.
* Use an OCaml regexp library without C bindings. We expected such a library to
be slower than Str
and needed an estimation of performance cost in order to
assess the practicality of the solution.
Benchmarking Str
There is a purely OCaml regexp library readily available, called Regexp
and
developed by Claude Marché from the LRI laboratory. You can find the
documentation and the source on the associated
webpage. After getting rid of mutexes
(which, in MirageOS, are of no use, because of the Lwt
based
concurrency), we benchmarked it against Str
. We also included the popular
Pcre
(Perl Compatible Regular Expression) library that is widely used.
The benchmark (available on github) is really simple and measures three different factors: * regexp construction: the transformation of a string (or another representation available to the programmer) into the internal representation of regexps used by the library * regexp usage: the execution of operations using regexps * string size: the length of the string being matched
MirageOS uses regexp in a specific pattern: a limited number of regexp constructions with a potentially high number of invocation (e.g. HTTP header parsing). The size of the strings on which regexps are used may vary. Because of this pattern, our benchmark does not take regexp construction overhead into account.
Here are the execution times of approximately 35000 string matching operations on strings of 20 to 60 bytes long.
Quite surprisingly for the string matching operation, the C based Str
module
is less efficient than the pure OCaml Regexp
. The Pcre
results were even worse
than Str
. Why?
A simple library for a simple task
The Regexp
library is lightweight, and so far faster than its C based
counterparts. One of the features Regexp
lacks is “group capture”: the ability
to refer to blocks of a previously matched string. In Pcre
it is possible to
explicitly and selectively turn group capturing off via special syntax,
instead of the regular parentheses. Str
does not offer this, and thus
imposes the runtime cost of capture even when not necessary. In other words, the
slowdown/group capturing “is not a feature, it’s a bug!”
The MirageOS Regexp library
With the introduction of Regexp
into the tree, the libraries available to MirageOS
applications are now Str
-free and safer to use across multiple backends. The main
drawback is a slight increase in verbosity of some parts of the code.
Benchmarking the substitution operation is also necessary to assess the
performance gain/loss (which we will do shortly).
In addition to cosmetic and speed considerations, it is important to consider the portability increase: MirageOS’s standard library is Node.js compatible, a feature we will explore shortly!
- Irmin 0.12 with portable filesystem watching released
- MirageOS Summer 2016 Hackathon roundup
- MirageOS Summer 2016 Hackathon announcement, and talk roundup
- MirageOS Spring 2016 Hackathon!
- MirageOS security advisory 00: mirage-net-xen
- Introducing Functoria
- Run Mirage Unikernels on KVM/QEMU with Solo5
- MirageOS hackathon
- Introducing Charrua — a DHCP implementation
- Unikernel.org


Admit It, You’re Just Here for the Baby Yoda GIFs
by Kathryn VanArendonkIf you’ve seen The Mandalorian, you already know something very important: In the first episode, the Mandalorian accepts a mission to capture a mysterious being and return it to Werner Herzog, but it turns out that the mysterious being is A TINY BABY YODA!
There are lots of things we still don’t know about this li’l creature. Does he wear diapers? Is he actually Baby Yoda? Is he a new baby member of Yoda’s species? How did this wee munchkin end up in a floating crib? Question after question after question.
But what we do know, with absolute certainty, is that Baby Yoda is so cute.
Here’s the moment when the Mandalorian first opens the little ball crib. Who could be hiding in there?
… it’s Baby Yoda!
He has a little floating bassinet!
The Mandalorian makes sure that Baby Yoda stays safe during skirmishes.
Baby Yoda gets worried when the Mandalorian is hurt!
Baby Yoda tries to make the Mandalorian feel better!
Look how tiny he is.
Look at HIS EARS!
How am I supposed to handle this?
How am I supposed to handle this?
I have no idea how Baby Yoda ate an entire frog, but that is also cute.
Baby Yoda uses the Force so hard that he collapses! Look at this tiny Force-sensitive baby!
Then he has to take a nap. Sleep well, Baby Yoda. Please come back soon.


Don't jam your computer -- download this screen saver, and never again will you need to suffer the indignity of burnt phospor.
Download the screensaver for either Mac or Windows 95. Install it in your Control Panels folder, and double-click on it to indicate your startup preferences. Then sit back and watch the characters of Space Jam invade your computer screen.


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.jdo.JDOHelper
public class JDOHelper
This class can be used by a JDO-aware application to call the JDO behavior
of PersistenceCapable
instances without declaring them to be
PersistenceCapable
.
It is also used to acquire a PersistenceManagerFactory
via
various methods.
This helper class defines static methods that allow a JDO-aware
application to examine the runtime state of instances. For example,
an application can discover whether the instance is persistent,
transactional, dirty, new, deleted, or detached; and to get its associated
PersistenceManager
if it has one.
| Constructor Summary | |
|---|---|
JDOHelper()
|
| Method Summary | |
|---|---|
static java.lang.Object |
getObjectId(java.lang.Object pc)
Return a copy of the JDO identity associated with the parameter instance. |
static java.util.Collection |
getObjectIds(java.util.Collection pcs)
Get object ids for a collection of instances. |
static java.lang.Object[] |
getObjectIds(java.lang.Object[] pcs)
Get object ids for an array of instances. |
static PersistenceManager |
getPersistenceManager(java.lang.Object pc)
Return the associated PersistenceManager if there is one. |
static PersistenceManagerFactory |
getPersistenceManagerFactory(java.io.File propsFile)
Returns a PersistenceManagerFactory configured based
on the properties stored in the file at
propsFile . |
static PersistenceManagerFactory |
getPersistenceManagerFactory(java.io.File propsFile,
java.lang.ClassLoader loader)
Returns a PersistenceManagerFactory configured based
on the properties stored in the file at
propsFile . |
static PersistenceManagerFactory |
getPersistenceManagerFactory(java.io.InputStream stream)
Returns a PersistenceManagerFactory configured based
on the Properties stored in the input stream at
stream . |
static PersistenceManagerFactory |
getPersistenceManagerFactory(java.io.InputStream stream,
java.lang.ClassLoader loader)
Returns a PersistenceManagerFactory configured based
on the Properties stored in the input stream at
stream . |
static PersistenceManagerFactory |
getPersistenceManagerFactory(java.util.Map props)
Get a PersistenceManagerFactory based on a Properties
instance, using the current thread's context class loader to locate the
PersistenceManagerFactory class. |
static PersistenceManagerFactory |
getPersistenceManagerFactory(java.util.Map props,
java.lang.ClassLoader cl)
Get a PersistenceManagerFactory based on a
Properties instance and a class loader. |
static PersistenceManagerFactory |
getPersistenceManagerFactory(java.lang.String propsResource)
Returns a PersistenceManagerFactory configured based
on the properties stored in the resource at
propsResource . |
static PersistenceManagerFactory |
getPersistenceManagerFactory(java.lang.String propsResource,
java.lang.ClassLoader loader)
Returns a PersistenceManagerFactory configured based
on the properties stored in the resource at
propsResource . |
static PersistenceManagerFactory |
getPersistenceManagerFactory(java.lang.String propsResource,
java.lang.ClassLoader propsLoader,
java.lang.ClassLoader pmfLoader)
Returns a PersistenceManagerFactory configured based
on the properties stored in the resource at
propsResource . |
static PersistenceManagerFactory |
getPersistenceManagerFactory(java.lang.String jndiLocation,
javax.naming.Context context)
Returns a PersistenceManagerFactory at the JNDI
location specified by jndiLocation in the context
context . |
static PersistenceManagerFactory |
getPersistenceManagerFactory(java.lang.String jndiLocation,
javax.naming.Context context,
java.lang.ClassLoader loader)
Returns a PersistenceManagerFactory at the JNDI
location specified by jndiLocation in the context
context . |
static java.lang.Object |
getTransactionalObjectId(java.lang.Object pc)
Return a copy of the JDO identity associated with the parameter instance. |
static java.lang.Object |
getVersion(java.lang.Object pc)
Return the version of the instance. |
static boolean |
isDeleted(java.lang.Object pc)
Tests whether the parameter instance has been deleted. |
static boolean |
isDetached(java.lang.Object pc)
Tests whether the parameter instance has been detached. |
static boolean |
isDirty(java.lang.Object pc)
Tests whether the parameter instance is dirty. |
static boolean |
isNew(java.lang.Object pc)
Tests whether the parameter instance has been newly made persistent. |
static boolean |
isPersistent(java.lang.Object pc)
Tests whether the parameter instance is persistent. |
static boolean |
isTransactional(java.lang.Object pc)
Tests whether the parameter instance is transactional. |
static void |
makeDirty(java.lang.Object pc,
java.lang.String fieldName)
Explicitly mark the parameter instance and field dirty. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public JDOHelper()
| Method Detail |
|---|
public static PersistenceManager getPersistenceManager(java.lang.Object pc)
PersistenceManager
if there is one.
Transactional and persistent instances return the associated
PersistenceManager
.
Transient non-transactional instances and instances of classes
that do not implement PersistenceCapable
return
null
.
pc
- the PersistenceCapable
instance.
PersistenceManager
associated with the parameter
instance.PersistenceCapable.jdoGetPersistenceManager()
public static void makeDirty(java.lang.Object pc, java.lang.String fieldName)
PersistenceCapable
classes are able to detect
changes made to their fields. However, if a reference to an array is
given to a method outside the class, and the array is modified, then the
persistent instance is not aware of the change. This API allows the
application to notify the instance that a change was made to a field.
Transient instances and instances of classes
that do not implement PersistenceCapable
ignore this method.
pc
- the PersistenceCapable
instance.fieldName
- the name of the field to be marked dirty.PersistenceCapable.jdoMakeDirty(String fieldName)
public static java.lang.Object getObjectId(java.lang.Object pc)
Persistent instances of PersistenceCapable
classes have a
JDO identity managed by the PersistenceManager
. This method
returns a copy of the ObjectId that represents the JDO identity.
Transient instances and instances of classes that do not implement
PersistenceCapable
return null
.
The ObjectId may be serialized
and later restored, and used with a PersistenceManager
from
the same JDO implementation to locate a persistent instance with the same
data store identity.
If the JDO identity is managed by the application, then the ObjectId
may be used with a PersistenceManager
from any JDO
implementation that supports the PersistenceCapable
class.
If the JDO identity is not managed by the application or the data store, then the ObjectId returned is only valid within the current transaction.
pc
- the PersistenceCapable instance.
PersistenceManager.getObjectId(Object pc)
,
PersistenceCapable.jdoGetObjectId()
,
PersistenceManager.getObjectById(Object oid, boolean validate)
public static java.util.Collection getObjectIds(java.util.Collection pcs)
pcs
- the persistence-capable instances
getObjectId(Object pc)
,
getObjectIds(Object[] pcs)
public static java.lang.Object[] getObjectIds(java.lang.Object[] pcs)
pcs
- the persistence-capable instances
getObjectId(Object pc)
,
getObjectIds(Collection pcs)
public static java.lang.Object getTransactionalObjectId(java.lang.Object pc)
pc
- the PersistenceCapable
instance.
PersistenceCapable.jdoGetTransactionalObjectId()
,
PersistenceManager.getObjectById(Object oid, boolean validate)
public static java.lang.Object getVersion(java.lang.Object pc)
pc
- the instance
public static boolean isDirty(java.lang.Object pc)
true
.
Transient instances and instances of classes that do not implement
PersistenceCapable
return false
.
pc
- the PersistenceCapable
instance.
true
if the parameter instance has been modified in
the current transaction.StateManager.makeDirty(PersistenceCapable pc,
String fieldName)
,
PersistenceCapable.jdoIsDirty()
public static boolean isTransactional(java.lang.Object pc)
Transient instances and instances of classes that do not implement
PersistenceCapable
return false
.
pc
- the PersistenceCapable
instance.
true
if the parameter instance is transactional.PersistenceCapable.jdoIsTransactional()
public static boolean isPersistent(java.lang.Object pc)
true
.
Transient instances and instances of classes that do not implement
PersistenceCapable
return false
.
pc
- the PersistenceCapable
instance.
true
if the parameter instance is persistent.PersistenceManager.makePersistent(Object pc)
,
PersistenceCapable.jdoIsPersistent()
public static boolean isNew(java.lang.Object pc)
true
.
Transient instances and instances of classes that do not implement
PersistenceCapable
return false
.
pc
- the PersistenceCapable
instance.
true
if the parameter instance was made persistent
in the current transaction.PersistenceManager.makePersistent(Object pc)
,
PersistenceCapable.jdoIsNew()
public static boolean isDeleted(java.lang.Object pc)
true
.
Transient instances and instances of classes that do not implement
PersistenceCapable
return false
.
pc
- the PersistenceCapable
instance.
true
if the parameter instance was deleted
in the current transaction.PersistenceManager.deletePersistent(Object pc)
,
PersistenceCapable.jdoIsDeleted()
public static boolean isDetached(java.lang.Object pc)
Transient instances return false.
pc
- the instance
true
if this instance is detached.PersistenceCapable.jdoIsDetached()
public static PersistenceManagerFactory getPersistenceManagerFactory(java.util.Map props)
PersistenceManagerFactory
based on a Properties
instance, using the current thread's context class loader to locate the
PersistenceManagerFactory
class.
props
- a Properties
instance with properties of the
PersistenceManagerFactory
.
PersistenceManagerFactory
.getPersistenceManagerFactory(Map,ClassLoader)
public static PersistenceManagerFactory getPersistenceManagerFactory(java.util.Map props, java.lang.ClassLoader cl)
PersistenceManagerFactory
based on a
Properties
instance and a class loader.
The following are standard key values:
"javax.jdo.PersistenceManagerFactoryClass"
"javax.jdo.option.Optimistic",
"javax.jdo.option.RetainValues",
"javax.jdo.option.RestoreValues",
"javax.jdo.option.IgnoreCache",
"javax.jdo.option.NontransactionalRead",
"javax.jdo.option.NontransactionalWrite",
"javax.jdo.option.Multithreaded",
"javax.jdo.option.ConnectionUserName",
"javax.jdo.option.ConnectionPassword",
"javax.jdo.option.ConnectionURL",
"javax.jdo.option.ConnectionFactoryName",
"javax.jdo.option.ConnectionFactory2Name",
"javax.jdo.option.Mapping",
"javax.jdo.mapping.Catalog",
"javax.jdo.mapping.Schema".
JDO implementations
are permitted to define key values of their own. Any key values not
recognized by the implementation must be ignored. Key values that are
recognized but not supported by an implementation must result in a
JDOFatalUserException
thrown by the method.
The returned PersistenceManagerFactory
is not
configurable (the setXXX
methods will throw an
exception).
JDO implementations might manage a map of instantiated
PersistenceManagerFactory
instances based on specified
property key values, and return a previously instantiated
PersistenceManagerFactory
instance. In this case, the
properties of the returned instance must exactly match the requested
properties.
props
- a Properties
instance with properties of the
PersistenceManagerFactory
.cl
- the class loader to use to load the
PersistenceManagerFactory
class
PersistenceManagerFactory
.public static PersistenceManagerFactory getPersistenceManagerFactory(java.lang.String propsResource)
PersistenceManagerFactory
configured based
on the properties stored in the resource at
propsResource
. This method is equivalent to
invoking getPersistenceManagerFactory(String,ClassLoader)
with
Thread.currentThread().getContextClassLoader()
as
the loader
argument.
propsResource
- the resource containing the Properties
public static PersistenceManagerFactory getPersistenceManagerFactory(java.lang.String propsResource, java.lang.ClassLoader loader)
PersistenceManagerFactory
configured based
on the properties stored in the resource at
propsResource
. Loads the resource via
loader
, and creates a PersistenceManagerFactory
with loader
. Any
IOException
s thrown during resource loading will
be wrapped in a JDOFatalUserException
.
propsResource
- the resource containing the Propertiesloader
- the class loader to use to load both the propsResource and
the PersistenceManagerFactory
class
public static PersistenceManagerFactory getPersistenceManagerFactory(java.lang.String propsResource, java.lang.ClassLoader propsLoader, java.lang.ClassLoader pmfLoader)
PersistenceManagerFactory
configured based
on the properties stored in the resource at
propsResource
. Loads the Properties via
propsLoader
, and creates a PersistenceManagerFactory
with pmfLoader
. Any
IOException
s thrown during resource loading will
be wrapped in a JDOFatalUserException
.
propsResource
- the resource containing the PropertiespropsLoader
- the class loader to use to load the propsResourcepmfLoader
- the class loader to use to load the
PersistenceManagerFactory
class
public static PersistenceManagerFactory getPersistenceManagerFactory(java.io.File propsFile)
PersistenceManagerFactory
configured based
on the properties stored in the file at
propsFile
. This method is equivalent to
invoking getPersistenceManagerFactory(File,ClassLoader)
with
Thread.currentThread().getContextClassLoader()
as
the loader
argument.
propsFile
- the file containing the Properties
public static PersistenceManagerFactory getPersistenceManagerFactory(java.io.File propsFile, java.lang.ClassLoader loader)
PersistenceManagerFactory
configured based
on the properties stored in the file at
propsFile
. Creates a PersistenceManagerFactory
with loader
. Any
IOException
s or
FileNotFoundException
s thrown during resource
loading will be wrapped in a JDOFatalUserException
.
propsFile
- the file containing the Propertiesloader
- the class loader to use to load the
PersistenceManagerFactory
class
public static PersistenceManagerFactory getPersistenceManagerFactory(java.lang.String jndiLocation, javax.naming.Context context)
PersistenceManagerFactory
at the JNDI
location specified by jndiLocation
in the context
context
. If context
is
null
, new InitialContext()
will be
used. This method is equivalent to invoking getPersistenceManagerFactory(String,Context,ClassLoader)
with Thread.currentThread().getContextClassLoader()
as
the loader
argument.
jndiLocation
- the JNDI location containing the
PersistenceManagerFactorycontext
- the context in which to find the named
PersistenceManagerFactory
public static PersistenceManagerFactory getPersistenceManagerFactory(java.lang.String jndiLocation, javax.naming.Context context, java.lang.ClassLoader loader)
PersistenceManagerFactory
at the JNDI
location specified by jndiLocation
in the context
context
. If context
is
null
, new InitialContext()
will be
used. Creates a PersistenceManagerFactory
with
loader
. Any NamingException
s thrown
will be wrapped in a JDOFatalUserException
.
jndiLocation
- the JNDI location containing the
PersistenceManagerFactorycontext
- the context in which to find the named
PersistenceManagerFactoryloader
- the class loader to use to load the
PersistenceManagerFactory
class
public static PersistenceManagerFactory getPersistenceManagerFactory(java.io.InputStream stream)
PersistenceManagerFactory
configured based
on the Properties stored in the input stream at
stream
. This method is equivalent to
invoking getPersistenceManagerFactory(InputStream,ClassLoader)
with
Thread.currentThread().getContextClassLoader()
as
the loader
argument.
stream
- the stream containing the Properties
public static PersistenceManagerFactory getPersistenceManagerFactory(java.io.InputStream stream, java.lang.ClassLoader loader)
PersistenceManagerFactory
configured based
on the Properties stored in the input stream at
stream
. Creates a PersistenceManagerFactory
with loader
. Any
IOException
s thrown during resource
loading will be wrapped in a JDOFatalUserException
.
stream
- the stream containing the Propertiesloader
- the class loader to use to load the
PersistenceManagerFactory
class
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


*Rails 3.0.0 [beta
4] (June 8th, 2010)*
- Changed encoding behaviour of mail, so updated tests in actionmailer and
bumped mail version to 2.2.1 [ML]
- Added ability to pass Proc objects to the defaults hash [ML]
*Rails 3.0.0 [beta
3] (April 13th, 2010)*
- Removed all quoting.rb type files from ActionMailer and put Mail 2.2.0 in
instead [ML]
- Lot of updates to various test cases that now work better with the new Mail
and so have different expectations
*Rails 3.0.0 [beta
2] (April 1st, 2010)*
*Rails 3.0.0 [beta
1] (February 4, 2010)*
- The Mail::Message class has helped methods for all the field types that
return ‘common’ defaults for the common use case, so to get the
subject, mail.subject will give you a string, mail.date will give you a DateTime object,
mail.from will give you an array of address specs<EMAIL_ADDRESS>etc. If you want to access the field object itself, call mail[:field_name]
which will return the field object you want, which you can then chain, like
mail[:from].formatted
- Mail#content_type now returns the content_type field as a string. If you
want the mime type of a mail, then you call Mail#mime_type (eg,
text/plain), if you want the parameters of the content type field, you call
Mail#content_type_parameters which gives you a hash, eg
{‘format’ => ‘flowed’, ‘charset’
=> ‘utf-8’}
- ActionMailer::Base
:default_implicit_parts_order now is in the sequence of the order you want,
no reversing of ordering takes place. The default order now is text/plain,
then text/enriched, then text/html and then any other part that is not one
of these three.
- Mail does not have "quoted_body", "quoted_subject" etc.
All of these are accessed via body.encoded, subject.encoded etc
- Every object in a Mail object returns an object, never a string. So
Mail.body returns a Mail::Body class object, need to call encoded or
decoded to get the string you want.
- Mail::Message#set_content_type does not exist, it is simply
Mail::Message#content_type
- Every mail message gets a unique message_id unless you specify one, had to
change all the tests that check for equality with expected.encoded ==
actual.encoded to first replace their message_ids with control values
- Mail now has a proper concept of parts, remove the ActionMailer::Part and
ActionMailer::PartContainer classes
- Calling encoded on any object returns it as a string ready to go into the
output stream of an email, this means it includes the \r\n at the end of
the lines and the object is pre-wrapped with \r\n\t if it is a header
field. Also, the "encoded" value includes the field name if it is
a header field.
- Attachments are only the actual attachment, with filename etc. A part
contains an attachment. The part has the content_type etc. So
attachments.last.content_type is invalid. But parts.last.content_type
- There is no idea of a "sub_head" in Mail. A part is just a
Message with some extra functionality, so it just has a "header"
like a normal mail message
*2.3.2 [Final] (March 15, 2009)*
- Fixed that ActionMailer should send correctly formatted Return-Path in MAIL
FROM for SMTP 1842 [Matt Jones]
- Fixed RFC-2045 quoted-printable bug 1421 [squadette]
- Fixed that no body charset would be set when there are attachments present
740 [Paweł Kondzior]
*2.2.1 [RC2] (November 14th, 2008)*
- Turn on STARTTLS if it is available in Net::SMTP (added in Ruby 1.8.7) and
the SMTP server supports it (This is required for Gmail‘s SMTP
server) 1336 [Grant Hollingworth]
*2.2.0 [RC1] (October 24th, 2008)*
*2.1.0 (May 31st, 2008)*
- Fixed that a return-path header would be ignored 7572 [joost]
- Less verbose mail logging: just recipients for :info log level; the whole
email for :debug only. 8000 [iaddict, Tarmo Tänav]
- Updated TMail to version 1.2.1 [Mikel Lindsaar]
- Fixed that you don‘t have to call super in
ActionMailer::TestCase#setup 10406 [jamesgolick]
*2.0.2* (December 16th, 2007)
*2.0.1* (December 7th, 2007)
*1.3.3* (March 12th, 2007)
- Depend on Action Pack 1.13.3
*1.3.2* (February 5th, 2007)
- Deprecate server_settings renaming it to smtp_settings, add
sendmail_settings to allow you to override the arguments to and location of
the sendmail executable. [Michael Koziarski]
*1.3.1* (January 16th, 2007)
- Depend on Action Pack 1.13.1
*1.3.0* (January 16th, 2007)
- Make mime version default to 1.0. closes 2323<EMAIL_ADDRESS>- Make sure quoted-printable text is decoded correctly when only portions of
the text are encoded. closes 3154<EMAIL_ADDRESS>- Make sure DOS newlines in quoted-printable text are normalized to unix
newlines before unquoting. closes 4166 and 4452. [Jamis Buck]
- Fixed that iconv decoding should catch InvalidEncoding 3153
<EMAIL_ADDRESS>- Tighten rescue clauses. 5985<EMAIL_ADDRESS>- Automatically included ActionController::UrlWriter, such that URL
generation can happen within ActionMailer controllers. [David Heinemeier
Hansson]
- Replace Reloadable with Reloadable::Deprecated. [Nicholas Seckar]
- Mailer template root applies to a class and its subclasses rather than
acting globally. 5555<EMAIL_ADDRESS>- Resolve action naming collision. 5520<EMAIL_ADDRESS>- ActionMailer::Base
documentation rewrite. Closes 4991 [Kevin Clark, Marcel Molina Jr.]
- Replace alias method chaining with Module#alias_method_chain. [Marcel
Molina Jr.]
- Replace Ruby‘s deprecated append_features in favor of included.
[Marcel Molina Jr.]
- Correct spurious documentation example code which results in a SyntaxError.
[Marcel Molina Jr.]
*1.2.1* (April 6th, 2006)
*1.2.0* (March 27th, 2006)
- Nil charset caused subject line to be improperly quoted in implicitly
multipart messages 2662<EMAIL_ADDRESS>- Parse content-type apart before using it so that sub-parts of the header
can be set correctly 2918 [Jamis Buck]
- Make custom headers work in subparts 4034<EMAIL_ADDRESS>- Template paths with dot chars in them no longer mess up implicit template
selection for multipart messages 3332 [Chad Fowler]
- Make sure anything with content-disposition of "attachment" is
passed to the attachment presenter when parsing an email body [Jamis Buck]
- Make sure TMail#attachments includes anything with content-disposition of
"attachment", regardless of content-type [Jamis Buck]
*1.1.5* (December 13th, 2005)
*1.1.4* (December 7th, 2005)
- Rename Version constant to VERSION. 2802 [Marcel Molina Jr.]
- Stricter matching for implicitly multipart filenames excludes files ending
in unsupported extensions (such as foo.rhtml.bak) and without a two-part
content type (such as foo.text.rhtml or foo.text.really.plain.rhtml). 2398
[Dave Burt<EMAIL_ADDRESS>Jeremy Kemper]
*1.1.3* (November 7th, 2005)
- Allow Mailers to have custom initialize methods that set default instance
variables for all mail actions 2563<EMAIL_ADDRESS>*1.1.2* (October 26th, 2005)
- Upgraded to Action Pack 1.10.2
*1.1.1* (October 19th, 2005)
- Upgraded to Action Pack 1.10.1
*1.1.0* (October 16th, 2005)
- Update and extend documentation (rdoc)
- Minero Aoki made TMail available to Rails/ActionMailer
under the MIT license (instead of LGPL) [RubyConf ‘05]
- Austin Ziegler made Text::Simple available to Rails/ActionMailer
under a MIT-like licens [See rails ML, subject "Text::Format Licence
Exception" on Oct 15, 2005]
- Fix vendor require paths to prevent files being required twice
- Don‘t add charset to content-type header for a part that contains
subparts (for AOL compatibility) 2013 [John Long]
- Preserve underscores when unquoting message bodies 1930
- Encode multibyte characters correctly 1894
- Multipart messages specify a MIME-Version header automatically 2003 [John
Long]
- Add a unified render method to ActionMailer (delegates to
ActionView::Base#render)
- Move mailer initialization to a separate (overridable) method, so that
subclasses may alter the various defaults 1727
- Look at content-location header (if available) to determine filename of
attachments 1670
- ActionMailer::Base.deliver(email) had been accidentally removed, but was
documented in the Rails book 1849
- Fix problem with sendmail delivery where headers should be delimited by \n
characters instead of \r\n, which confuses some mail readers 1742 [Kent
Sibilev]
*1.0.1* (11 July, 2005)
- Bind to Action Pack 1.9.1
*1.0.0* (6 July, 2005)
- Avoid adding nil header values 1392
- Better multipart support with implicit multipart/alternative and sorting of
subparts [John Long]
- Allow for nested parts in multipart mails 1570 [Flurin Egger]
- Normalize line endings in outgoing mail bodies to "\n" 1536 [John
Long]
- Allow template to be explicitly specified 1448<EMAIL_ADDRESS>- Allow specific "multipart/xxx" content-type to be set on
multipart messages 1412 [Flurin Egger]
- Unquoted @ characters in headers are now accepted in spite of RFC 822 1206
- Helper support (borrowed from ActionPack)
- Silently ignore Errno::EINVAL errors when converting text.
- Don‘t cause an error when parsing an encoded attachment name 1340
<EMAIL_ADDRESS>- Nested multipart message parts are correctly processed in TMail::Mail#body
- BCC headers are removed when sending via SMTP 1402
- Added ‘content_type’ accessor, to allow content type to be set
on a per-message basis. content_type defaults to "text/plain".
- Silently ignore Iconv::IllegalSequence errors when converting text 1341
<EMAIL_ADDRESS>- Support attachments and multipart messages.
- Added new accessors for the various mail properties.
- Fix to only perform the charset conversion if a ‘from’ and a
‘to’ charset are given (make no assumptions about what the
charset was) 1276 [Jamis Buck]
- Fix attachments and content-type problems 1276 [Jamis Buck]
- Fixed the TMail#body method to look at the content-transfer-encoding header
and unquote the body according to the rules it specifies 1265 [Jamis Buck]
- Added unquoting even if the iconv lib can‘t be loaded—in that
case, only the charset conversion is skipped 1265 [Jamis Buck]
- Added automatic decoding of base64 bodies 1214 [Jamis Buck]
- Added that delivery errors are caught in a way so the mail is still
returned whether the delivery was successful or not
- Fixed that email address like "Jamis Buck, M.D."
<EMAIL_ADDRESS>would cause the quoter to generate emails
resulting in "bad address" errors from the mail server 1220
[Jamis Buck]
*0.9.1* (20th April, 2005)
- Depend on Action Pack 1.8.1
*0.9.0* (19th April, 2005)
- Added that deliver_* will now return the email that was sent
- Added that quoting to UTF-8 only happens if the characters used are in that
range 955 [Jamis Buck]
- Fixed quoting for all address headers, not just to 955 [Jamis Buck]
- Fixed unquoting of emails that doesn‘t have an explicit charset 1036
<EMAIL_ADDRESS>*0.8.1* (27th March, 2005)
- Fixed that if charset was found that the end of a mime part declaration
TMail would throw an error 919<EMAIL_ADDRESS>- Fixed that TMail::Unquoter would fail to recognize quoting method if it was
in lowercase 919<EMAIL_ADDRESS>- Fixed that TMail::Encoder would fail when it attempts to parse e-mail
addresses which are encoded using something other than the messages
encoding method 919<EMAIL_ADDRESS>- Added rescue for missing iconv library and throws warnings if subject/body
is called on a TMail object without it instead
*0.8.0* (22th March, 2005)
- Added framework support for processing incoming emails with an Action
Mailer class. See example in README.
*0.7.1* (7th March, 2005)
- Bind to newest Action Pack (1.5.1)
*0.7.0* (24th February, 2005)
*0.6.1* (January 18th, 2005)
- Fixed sending of emails to use Tmail#from not the deprecated
Tmail#from_address
*0.6* (January 17th, 2005)
- Fixed that bcc and cc should be settable through @bcc and @cc — not
just @headers["Bcc"] and @headers["Cc"] 453 [Eric
Hodel]
- Fixed Action Mailer to be "warnings safe" so you can run with
ruby -w and not get framework warnings 453 [Eric Hodel]
*0.5*
*0.4* (5)
- Consolidated the server configuration options into Base#server_settings=
and expanded that with controls for authentication and more [Marten] NOTE:
This is an API change that could potentially break your application if you
used the old application form. Please do change!
- Added Base#deliveries as an accessor for an array of emails sent out
through that ActionMailer class when using the :test delivery option.
[Jeremy Kemper]
- Added Base#perform_deliveries= which can be set to false to turn off the
actual delivery of the email through smtp or sendmail.
- Added option to specify delivery method with Base#delivery_method=. Default
is :smtp and :sendmail is currently the only other option. Sendmail is
assumed to be present at "/usr/sbin/sendmail" if that option is
used. [Kent Sibilev]
- Dropped "include TMail" as it added to much baggage into the
default namespace (like Version) [Chad Fowler]
*0.3*


{% extends "layout.html" %} {% block page_title %} GOV.UK prototype kit {% endblock %} {% block content %} Search address Postcode or first line of address I can't find the address {% endblock %} {% block body_end %} {{ super() }} {% endblock %}
I can't find the address


Handles GB-size logs easily while still maintaing features like highlighting and following the file live. With intelligent buffering LogLady will only keep a small part of large files in memory.
Unsurprisingly, there is tail functionality. Monitor log files in real-time. You can toggle whether to follow a file or not.
Keep track of all your log files. LogLady will remember your settings and all your opened files, and restore your tabs when restarting.
Enter a highlight text and LogLady will mark all occurences of that text. Every affected line, and every occurence within the line is highlited, using a two level color scheme.
If you, like us, switch between different operating systems all the time, you will appreciate being able to use the same tool no matter the platform.
Complementary to highlighting, filtering lets you concentrate on only the lines you want to see. Filtering and highlighting can be used in concert for even easier review.
Both filtering and highlighting support the use of regular expression. Prefix the text with @ to use regular expressions.
As files grow, an activity indicator in the form of a spinner is visible on the tab of each file. Find out immediately when something’s afoot in all your open logs.


Ada Lovelace and Charles Babbage
Ada Lovelace is the first female programmer.
She was born 10 december, London, England. She died 27 November 1852 (aged 36), London, England.
The first fact. Like Leonardo da Vinci
Since childhood Ada was strong in mathematics.
At the age of 13, Ada already had several drawings of aircraft.
The second fact. Fateful meeting
At the age of 17, Ada she met the famous professor of mathematics, Charles Babbage.
The third fact. Family is not a hindrance
At the age of 19 Ada Byron got married a Lord Lovelace.
He helped her financially and did not limit her time in her hobbies.
The fourth fact. The first software
She create the work, which consists of an English translation of an article describing Babbage's invention.
And developed of an operation plan for the analytical machine.
This was the first programming!
The fifth fact. The ability to predict the future
She always said that the capabilities of such machines are not limited!
And she boldly suggested that the time would come when a computer would be so advanced that it would be able to create amazing pieces of music.
Charles Babbage - mathematician and inventor first computer of the world.
The analytical machine, invented by Charles, is a direct prototype of the modern digital computer.
Thank you for your attention:)


Global options are for requesting the Log Tracer data from AEM. These setting are global for all browser tabs. If different tabs require different servlet context or credentials, these options must be updated as you move between the browser tabs.
Host configurations should be used when you access an AEM instance from one host name, but the Sling Log Tracer end-points (/system/console/tracer) are available from one or many other host names.
An example of this is when 1 or many AEM instances are fronted by a single host-name that is assocated with CDN orWeb server tier. In this scenario AEM may be accessed via www.example.com however AEM Chrome Plug-in must check call AEM Publish instances directly by IP or internal host.


Home
Info
Development
Dataset
Choose
Question
In which month were 89704 users?
Ask
Answer
Feedback
Send


JavaScript is disabled on your browser.
Skip navigation links
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
Prev Letter
Next Letter
Frames
No Frames
All Classes
SEARCH:
JavaScript is disabled on your browser.
A
B
C
D
E
F
G
H
I
J
M
N
Q
R
S
T
U
V
U
UmbrellaBadRequestError
- Class in
com.grizzi.microservices.users.models.errors.badrequest
Since swagger cannot handle more than one model for describing error responses, this class reunites all errors that could occur while using an API
UmbrellaBadRequestError()
- Constructor for class com.grizzi.microservices.users.models.errors.badrequest.
UmbrellaBadRequestError
update(int, User)
- Method in class com.grizzi.microservices.users.services.
UserService
Update user with new info
updateUser(int, User)
- Method in class com.grizzi.microservices.users.controllers.
UserController
Update user using the map updates
User
- Class in
com.grizzi.microservices.users.models
User POJO
User()
- Constructor for class com.grizzi.microservices.users.models.
User
UserController
- Class in
com.grizzi.microservices.users.controllers
Base class for user controllers
UserController()
- Constructor for class com.grizzi.microservices.users.controllers.
UserController
UserNotFoundError
- Class in
com.grizzi.microservices.users.models.errors.notfound
UserNotFoundError()
- Constructor for class com.grizzi.microservices.users.models.errors.notfound.
UserNotFoundError
UserNotFoundException
- Exception in
com.grizzi.microservices.users.exceptions
UserNotFoundException()
- Constructor for exception com.grizzi.microservices.users.exceptions.
UserNotFoundException
UserRepository
- Interface in
com.grizzi.microservices.users.repositories
UserService
- Class in
com.grizzi.microservices.users.services
UserService()
- Constructor for class com.grizzi.microservices.users.services.
UserService
UserSetter
- Class in
com.grizzi.microservices.users.utils
Handle user specimens generation, based on custom data
UserSetter()
- Constructor for class com.grizzi.microservices.users.utils.
UserSetter
UsersMicroserviceApplication
- Class in
com.grizzi.microservices.users
UsersMicroserviceApplication()
- Constructor for class com.grizzi.microservices.users.
UsersMicroserviceApplication
A
B
C
D
E
F
G
H
I
J
M
N
Q
R
S
T
U
V
Skip navigation links
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
Prev Letter
Next Letter
Frames
No Frames
All Classes
JavaScript is disabled on your browser.


About Me
Hello, my name is Chris. I am a software engineer currently based in Orlando, FL.
I thrive on designing and writing software that helps people improve their operation by designing new software, creating simulations, or even extending commercial software to meet business needs.
In my free time I enjoy PC gaming, playing the piano, and geeking out about new gadgets.
Skills & Technologies
- C#
- Python
- PowerShell
- Javascript
- HTML/CSS
- C/C++
- MATLAB
- Git
- CI/CD
- Subversion
- JIRA Admin
- Agile/Scrum


A series of photographs from May 2015 when I visited my Mom in Shanghai. I wanted to capture the unique feeling of being in Shanghai for the first time. Seeing the city through the lens made me more aware of the idiosyncratic and fleeting moments of everyday life. I wanted to document my travels in Shanghai and in the nearby cities of Suzhou and Hanzhou. Using 35mm film captured the richness of the thousands of years of culture, the landscape of the ancient poets, and removed the influence of today's capitalist culture.


VSL // Calm, Diligence, Empathy
* Calm: Slow Games
today’s Very Short List:
culture 2 Mar 2015
Kyle Studstill is the designer behind Composure
Subscribe
* Diligence: Designer Craig Mod shares a short and poignant love story about craftsmanship
* Empathy: From the MIT Dalai Lama Center For Ethics & Transformative Values comes 20 Day Stranger
http://link.nyobserver.com/516ca68465217dc6e1b9a3a62c5ht.246p/TvnrKi0WTdwTHwxwC15f3
delightful e-mail that shares
cultural gems from a
different curator every day.
If you have any problems reading this e-mail, click here
http://link.nyobserver.com/516ca68465217dc6e1b9a3a62c5ht.246p/UHyHCJsf7NZSKXrPCa0b7
Subscribe
Forward
My Account
Unsubscribe
food 25 Feb 2015
Lauren Walles has a killer bottle cap collection.
culture 23 Feb 2015
Alexa Jaccarino shares her Oscars-night highlights.
design 20 Feb 2015
Interior designers Jesse Carrier and Mara Miller connect people and places.
Editorial Policy
Privacy Policy
Contact Us
Press
Terms + Conditions
very fine print: ©2015
Observer VSL LLC.
321 West 44th Street, 6th Floor
New York, NY 10036 USA
All rights reserved.
Questions?<PHONE_NUMBER>.
This message was intended for<EMAIL_ADDRESS>If you believe this has been sent to you in error, please safely unsubscribe


This track, produced as part of the ENCODE Project, displays maps of histone modifications genome-wide using ChIP-seq in different cell lines. The ChIP-seq method involves first using formaldehyde to cross-link histones and other DNA-associated proteins to genomic DNA within cells. The cross-linked chromatin is subsequently extracted, sheared, and immunoprecipitated using specific antibodies. After reversal of cross-links, the immunoprecipitated DNA is sequenced and mapped to the human reference genome. The relative enrichment of each antibody-target (epitope) across the genome is inferred from the density of mapped fragments.
Chemical modifications (e.g. methylation or acetylation) of the histone proteins present in chromatin influence gene expression by changing how accessible the chromatin is to transcription factors. Shown for each experiment (defined as a particular antibody and a particular cell type) is a track of enrichment for the specifically modified histone (Signal), along with sites that have the greatest enrichment (Peaks). Also, included for each cell type is the input signal, which represents the control condition where no antibody targeting was performed. In general, the following chemical modifications have associated genetic phenotypes:
This track is a multi-view composite track that contains multiple data types (views). For each view, there are multiple subtracks that display individually on the browser. Instructions for configuring multi-view tracks are here.
For each cell type, this track contains the following views:
Peaks and signals displayed in this track are the results of pooled replicate sequence. Alignment files for each replicate are available for download.
Metadata for a particular subtrack can be found by clicking the down arrow in the list of subtracks.
Cells were grown according to the approved ENCODE cell culture protocols. Briefly, cells were cross-linked, chromatin was extracted and sonicated using a Bioruptor sonicator (Diagenode) to an average size of 300-500 bp, and individual ChIP assays were performed using antibodies to modified histones. For the K562, MCF-7, HCT-116, NTera-2 (NT2-D1), PANC-1 and PBMC histone ChIP-seq samples, immunoprecipitates were collected using protein G-coupled magnetic beads; a detailed ChIP and library protocol can be found at the Roadmap Epigenome Project. For the U2OS histone ChIP-seq samples, immunoprecipitates were collected using StaphA cells; a detailed protocol can be found at the UCD Genome Center. Library DNA was quantitated using either a Nanodrop or a BioAnalyzer and sequenced on an Illumina GA2.
The sequencing reads were mapped to the genome using the Eland alignment program. ChIP-seq data was scored based on sequence reads (length ~30 bps) that align uniquely to the human genome. From the mapped tags, a signal map of ChIP DNA fragments (average fragment length ~ 200 bp) was constructed where the signal height is the number of overlapping fragments at each nucleotide position in the genome.
For each 1 Mb segment of each chromosome, a peak height threshold was determined by requiring a false discovery rate <= 0.05 when comparing the number of peaks above threshold as compared to the number obtained from multiple simulations of a random null background with the same number of mapped reads (also accounting for the fraction of mapable bases for sequence tags in that 1 Mb segment). The number of mapped tags in a putative binding region is compared to the normalized (normalized by correlating tag counts in genomic 10 kb windows) number of mapped tags in the same region from an input DNA control. Using a binomial test, only regions that have a p-value <= 0.05 are considered to be significantly enriched compared to the input DNA control.
This is Release 3 (June 2012) of this track, which adds 9 new experiments for the MCF-7, HCT-116 and PANC-1 cell lines.
These data were generated and analyzed by the labs of Peggy Farnham (USC/Norris Cancer Center; previously at UC Davis) and Michael Snyder at Stanford University.
Contact: Peggy Farnham for questions concerning data collection and usage and Philip Cayting for data scoring and submission inquiries.
Blahnik KR, Dou L, Echupare L, Iyengar S, O'Geen H, et al. Characterization of the Contradictory Chromatin Signatures at the 3' Exons of Zinc Finger Genes. PLoS One. 2011;6(2):e17121.
O'Geen H, Echipare L, Farnham PJ Using ChIP-seq technology to generate high-resolution profiles of histone modifications. Methods Mol Biol. 2011;791;265-286.
O'Geen H, Frietze S, Farnham PJ Using ChIP-seq Technology to Identify Targets of Zinc Finger Transcription Factors. Methods Mol Biol. 2010;649:437-455.
Data users may freely use ENCODE data, but may not, without prior consent, submit publications that use an unpublished ENCODE dataset until nine months following the release of the dataset. This date is listed in the Restricted Until column, above. The full data release policy for ENCODE is available here.


Machine learing and Deep Learning Enthusiast .
Leader of HackClub SIT .
My works
- Monster - Machine learning tool for regression, classification, and for basic ml stuffs. For more details navigate to the github repository you will find the details about the library.
- Face Detection - It helps to detect the people's faces it can be used as a smart attendence system. This is made with the help of openCV library of python.


Configuration
The configuration of the Mako core is done in the index.php
file. This is where you set the error reporting level and define the paths to the application and vendor directories.
You do not need to edit the paths unless you move the application and framework directories out of your webserver's document root.
All of the remaining framework configuration is done by editing the files that are located in the app/config
directory.
Config Files
Mako config files are just simple arrays:
<?php
return
[
'key_1' => 'value',
'key_2' => 'value',
];
And loading a config file is done by using the get
method.
$config = $this->config->get('redis'); // Loads the redis.php file
You can also fetch config items using dot notation
.
$default = $this->config->get('redis.default');
It is also possible to override settings or add new configurations at runtime:
// Adds a new Crypto configuration named "user" that you can
// use when creating a Crypto instance "Crypto::instance('user');"
$this->config->set('crypto.configurations.user',
[
'library' => 'mcrypt',
'cipher' => MCRYPT_RIJNDAEL_256,
'key' => 'ksMGBr_yR>=IiRicJFUhD4XlRnE%|11mvRGNJsD',
'mode' => MCRYPT_MODE_ECB,
]);
Removing the custom configuration is done using the remove
method:
$this->config->remove('crypto.configurations.user');
Setting configuration at runtime is not always possible. Some components such as the connections managers (database, redis, etc...) will cache the settings once they get loaded. You can override them using their
addConfiguration
andremoveConfiguration
methods instead.
Cascading configuration
Sometimes you might want to edit the configuration files of a third party package. You can edit the package config file directly but the changes you make will be overwritten when you update the package. This is where cascading config files come become handy.
Lets say you have a packaged named foobar
with a config file.
/app
/packages
/foobar
/config
config.php
Just copy the file into app/config/packages/foobar
and the application will load that file instead of the one located in the package. This makes it possible to update the package while keeping your custom settings.
Environment aware configuration
Mako supports environment aware configuration. This means that you can have separate configuration files for your different environments. All you have to do is create a subdirectory with the name of your environment in the app/config
directory and copy the environment specific files into it.
Setting the environment in Apache:
SetEnv MAKO_ENV dev
Setting the environment in Nginx:
fastcgi_param MAKO_ENV dev;
Setting the environment in a linux/unix shell:
export MAKO_ENV=dev # for Bourne, bash, and related shells
setenv MAKO_ENV=dev # for csh and related shells
You can also manually set the environment in the CLI using the env option.
php reactor <task> --env=dev


Our parents and grandparents drank coffee to caffeinate (not that there's anything wrong with that). We're lucky to explore all the flavors and aromas that expertly grown and roasted coffee has to offer.


Gateway
BOT
20-Sep-18 11:48 PM
[dscrdeql] <Buddz1993> netflix and chill thats my best remedy when I see coins like XRP pumping lol
[dscrdeql] <Buddz1993> most centralized coin ever.
[dscrdeql] <scabboy (Australia)> yeah i like xlm way better than xrp
[dscrdeql] <scabboy (Australia)> and would love to see xlm take xrp's market share
[dscrdeql] <Buddz1993> well yes what I mean is def not xrp deserves that top 3
[dscrdeql] <scabboy (Australia)> also the CEO has a huge bag of XRP when he is able to sell them watch him dump
[dscrdeql] <Buddz1993> oh ye 30% plus profits? lets dump this shhht
[dscrdeql] <Buddz1993> thats what hes about to do
[dscrdeql] <scabboy (Australia)> he has a 5.19billion stack plus 17% stake in company
[dscrdeql] <Buddz1993> wow market cap overal just increased 11 bil just like that
[dscrdeql] <Buddz1993> its insane to see this is still nothing and we have so much to growth still.
[dscrdeql] <Linkara6669-Mod> hey everyone!
[dscrdeql] <Buddz1993> hello
[dscrdeql] <Linkara6669-Mod> how's it going today?
[dscrdeql] <Jellysmash> Hey @linkara6669
[dscrdeql] <Buddz1993> market seems to be recovering for a bit
[dscrdeql] <Buddz1993> lets see how long this pump is gonna last lol
[dscrdeql] <AndronicusBass-Founder> When does the Ripple CEO have access available to his stack?
[dscrdeql] <Buddz1993> Chris Larsen, who stepped down in November 2016 and now serves as executive chairman of Ripple, has 5.19 billion XRP in his personal holdings and a 17% stake in the company, according to sources at Ripple.
[dscrdeql] <Buddz1993>
[dscrdeql] <scabboy (Australia)> yeah and new one Brad Garlinghouse has a huge amount as well
[dscrdeql] <Buddz1993> the current own has this
[dscrdeql] <Buddz1993> Current Ripple CEO Brad Garlinghouse owns a 6.3% stake in Ripple, according to a source at the company, and owns additional XRP tokens
[dscrdeql] <scabboy (Australia)> so round it to 7%
[dscrdeql] <scabboy (Australia)> rich white boy
[dscrdeql] <Buddz1993> well centralized ?? not really