SOFTWARE API DEFINITION FOR Inter-IC Sound Controller. More...
Classes | |
| struct | I2sc |
| I2sc hardware registers. More... | |
Macros | |
| #define | I2SC_CR_RXEN (0x1u << 0) |
| (I2SC_CR) Receiver Enable More... | |
| #define | I2SC_CR_RXDIS (0x1u << 1) |
| (I2SC_CR) Receiver Disable More... | |
| #define | I2SC_CR_CKEN (0x1u << 2) |
| (I2SC_CR) Clocks Enable More... | |
| #define | I2SC_CR_CKDIS (0x1u << 3) |
| (I2SC_CR) Clocks Disable More... | |
| #define | I2SC_CR_TXEN (0x1u << 4) |
| (I2SC_CR) Transmitter Enable More... | |
| #define | I2SC_CR_TXDIS (0x1u << 5) |
| (I2SC_CR) Transmitter Disable More... | |
| #define | I2SC_CR_SWRST (0x1u << 7) |
| (I2SC_CR) Software Reset More... | |
| #define | I2SC_MR_MODE (0x1u << 0) |
| (I2SC_MR) Inter-IC Sound Controller Mode More... | |
| #define | I2SC_MR_MODE_SLAVE (0x0u << 0) |
| (I2SC_MR) I2SCK and i2SWS pin inputs used as bit clock and word select/frame synchronization. More... | |
| #define | I2SC_MR_MODE_MASTER (0x1u << 0) |
| (I2SC_MR) Bit clock and word select/frame synchronization generated by I2SC from MCK and output to I2SCK and I2SWS pins. More... | |
| #define | I2SC_MR_DATALENGTH_Pos 2 |
| #define | I2SC_MR_DATALENGTH_Msk (0x7u << I2SC_MR_DATALENGTH_Pos) |
| (I2SC_MR) Data Word Length More... | |
| #define | I2SC_MR_DATALENGTH_32_BITS (0x0u << 2) |
| (I2SC_MR) Data length is set to 32 bits More... | |
| #define | I2SC_MR_DATALENGTH_24_BITS (0x1u << 2) |
| (I2SC_MR) Data length is set to 24 bits More... | |
| #define | I2SC_MR_DATALENGTH_20_BITS (0x2u << 2) |
| (I2SC_MR) Data length is set to 20 bits More... | |
| #define | I2SC_MR_DATALENGTH_18_BITS (0x3u << 2) |
| (I2SC_MR) Data length is set to 18 bits More... | |
| #define | I2SC_MR_DATALENGTH_16_BITS (0x4u << 2) |
| (I2SC_MR) Data length is set to 16 bits More... | |
| #define | I2SC_MR_DATALENGTH_16_BITS_COMPACT (0x5u << 2) |
| (I2SC_MR) Data length is set to 16-bit compact stereo. More... | |
| #define | I2SC_MR_DATALENGTH_8_BITS (0x6u << 2) |
| (I2SC_MR) Data length is set to 8 bits More... | |
| #define | I2SC_MR_DATALENGTH_8_BITS_COMPACT (0x7u << 2) |
| (I2SC_MR) Data length is set to 8-bit compact stereo. More... | |
| #define | I2SC_MR_RXMONO (0x1u << 8) |
| (I2SC_MR) Receive Mono More... | |
| #define | I2SC_MR_RXDMA (0x1u << 9) |
| (I2SC_MR) Single or Multiple PDC Channels for Receiver More... | |
| #define | I2SC_MR_RXLOOP (0x1u << 10) |
| (I2SC_MR) Loop-back Test Mode More... | |
| #define | I2SC_MR_TXMONO (0x1u << 12) |
| (I2SC_MR) Transmit Mono More... | |
| #define | I2SC_MR_TXDMA (0x1u << 13) |
| (I2SC_MR) Single or Multiple PDC Channels for Transmitter More... | |
| #define | I2SC_MR_TXSAME (0x1u << 14) |
| (I2SC_MR) Transmit Data when Underrun More... | |
| #define | I2SC_MR_IMCKDIV_Pos 16 |
| #define | I2SC_MR_IMCKDIV_Msk (0x3fu << I2SC_MR_IMCKDIV_Pos) |
| (I2SC_MR) Peripheral Clock to I2SC Master Clock Ratio More... | |
| #define | I2SC_MR_IMCKDIV(value) ((I2SC_MR_IMCKDIV_Msk & ((value) << I2SC_MR_IMCKDIV_Pos))) |
| #define | I2SC_MR_IMCKFS_Pos 24 |
| #define | I2SC_MR_IMCKFS_Msk (0x3fu << I2SC_MR_IMCKFS_Pos) |
| (I2SC_MR) Master Clock to fs Ratio More... | |
| #define | I2SC_MR_IMCKFS_M2SF16 (0x0u << 24) |
| (I2SC_MR) Sample frequency ratio set to 16 More... | |
| #define | I2SC_MR_IMCKFS_M2SF32 (0x1u << 24) |
| (I2SC_MR) Sample frequency ratio set to 32 More... | |
| #define | I2SC_MR_IMCKFS_M2SF48 (0x2u << 24) |
| (I2SC_MR) Sample frequency ratio set to 48 More... | |
| #define | I2SC_MR_IMCKFS_M2SF64 (0x3u << 24) |
| (I2SC_MR) Sample frequency ratio set to 64 More... | |
| #define | I2SC_MR_IMCKFS_M2SF96 (0x5u << 24) |
| (I2SC_MR) Sample frequency ratio set to 96 More... | |
| #define | I2SC_MR_IMCKFS_M2SF128 (0x7u << 24) |
| (I2SC_MR) Sample frequency ratio set to 128 More... | |
| #define | I2SC_MR_IMCKFS_M2SF192 (0xBu << 24) |
| (I2SC_MR) Sample frequency ratio set to 192 More... | |
| #define | I2SC_MR_IMCKFS_M2SF256 (0xFu << 24) |
| (I2SC_MR) Sample frequency ratio set to 256 More... | |
| #define | I2SC_MR_IMCKFS_M2SF384 (0x17u << 24) |
| (I2SC_MR) Sample frequency ratio set to 384 More... | |
| #define | I2SC_MR_IMCKFS_M2SF512 (0x1Fu << 24) |
| (I2SC_MR) Sample frequency ratio set to 512 More... | |
| #define | I2SC_MR_IMCKFS_M2SF768 (0x2Fu << 24) |
| (I2SC_MR) Sample frequency ratio set to 768 More... | |
| #define | I2SC_MR_IMCKFS_M2SF1024 (0x3Fu << 24) |
| (I2SC_MR) Sample frequency ratio set to 1024 More... | |
| #define | I2SC_MR_IMCKMODE (0x1u << 30) |
| (I2SC_MR) Master Clock Mode More... | |
| #define | I2SC_MR_IWS (0x1u << 31) |
| (I2SC_MR) I2SWS TDM Slot Width More... | |
| #define | I2SC_SR_RXEN (0x1u << 0) |
| (I2SC_SR) Receiver Enabled More... | |
| #define | I2SC_SR_RXRDY (0x1u << 1) |
| (I2SC_SR) Receive Ready More... | |
| #define | I2SC_SR_RXOR (0x1u << 2) |
| (I2SC_SR) Receive Overrun More... | |
| #define | I2SC_SR_ENDRX (0x1u << 3) |
| (I2SC_SR) End of Receiver Transfer More... | |
| #define | I2SC_SR_TXEN (0x1u << 4) |
| (I2SC_SR) Transmitter Enabled More... | |
| #define | I2SC_SR_TXRDY (0x1u << 5) |
| (I2SC_SR) Transmit Ready More... | |
| #define | I2SC_SR_TXUR (0x1u << 6) |
| (I2SC_SR) Transmit Underrun More... | |
| #define | I2SC_SR_ENDTX (0x1u << 7) |
| (I2SC_SR) End of Transmitter Transfer More... | |
| #define | I2SC_SR_RXORCH_Pos 8 |
| #define | I2SC_SR_RXORCH_Msk (0x3u << I2SC_SR_RXORCH_Pos) |
| (I2SC_SR) Receive Overrun Channel More... | |
| #define | I2SC_SR_RXBUFF (0x1u << 19) |
| (I2SC_SR) Receive Buffer Full More... | |
| #define | I2SC_SR_TXURCH_Pos 20 |
| #define | I2SC_SR_TXURCH_Msk (0x3u << I2SC_SR_TXURCH_Pos) |
| (I2SC_SR) Transmit Underrun Channel More... | |
| #define | I2SC_SR_TXBUFE (0x1u << 31) |
| (I2SC_SR) Transmit Buffer Empty More... | |
| #define | I2SC_SCR_RXOR (0x1u << 2) |
| (I2SC_SCR) Receive Overrun Status Clear More... | |
| #define | I2SC_SCR_TXUR (0x1u << 6) |
| (I2SC_SCR) Transmit Underrun Status Clear More... | |
| #define | I2SC_SCR_RXORCH_Pos 8 |
| #define | I2SC_SCR_RXORCH_Msk (0x3u << I2SC_SCR_RXORCH_Pos) |
| (I2SC_SCR) Receive Overrun Per Channel Status Clear More... | |
| #define | I2SC_SCR_RXORCH(value) ((I2SC_SCR_RXORCH_Msk & ((value) << I2SC_SCR_RXORCH_Pos))) |
| #define | I2SC_SCR_TXURCH_Pos 20 |
| #define | I2SC_SCR_TXURCH_Msk (0x3u << I2SC_SCR_TXURCH_Pos) |
| (I2SC_SCR) Transmit Underrun Per Channel Status Clear More... | |
| #define | I2SC_SCR_TXURCH(value) ((I2SC_SCR_TXURCH_Msk & ((value) << I2SC_SCR_TXURCH_Pos))) |
| #define | I2SC_SSR_RXOR (0x1u << 2) |
| (I2SC_SSR) Receive Overrun Status Set More... | |
| #define | I2SC_SSR_TXUR (0x1u << 6) |
| (I2SC_SSR) Transmit Underrun Status Set More... | |
| #define | I2SC_SSR_RXORCH_Pos 8 |
| #define | I2SC_SSR_RXORCH_Msk (0x3u << I2SC_SSR_RXORCH_Pos) |
| (I2SC_SSR) Receive Overrun Per Channel Status Set More... | |
| #define | I2SC_SSR_RXORCH(value) ((I2SC_SSR_RXORCH_Msk & ((value) << I2SC_SSR_RXORCH_Pos))) |
| #define | I2SC_SSR_TXURCH_Pos 20 |
| #define | I2SC_SSR_TXURCH_Msk (0x3u << I2SC_SSR_TXURCH_Pos) |
| (I2SC_SSR) Transmit Underrun Per Channel Status Set More... | |
| #define | I2SC_SSR_TXURCH(value) ((I2SC_SSR_TXURCH_Msk & ((value) << I2SC_SSR_TXURCH_Pos))) |
| #define | I2SC_IER_RXRDY (0x1u << 1) |
| (I2SC_IER) Receiver Ready Interrupt Enable More... | |
| #define | I2SC_IER_RXOR (0x1u << 2) |
| (I2SC_IER) Receiver Overrun Interrupt Enable More... | |
| #define | I2SC_IER_ENDRX (0x1u << 3) |
| (I2SC_IER) End of Reception Interrupt Enable More... | |
| #define | I2SC_IER_TXRDY (0x1u << 5) |
| (I2SC_IER) Transmit Ready Interrupt Enable More... | |
| #define | I2SC_IER_TXUR (0x1u << 6) |
| (I2SC_IER) Transmit Underflow Interrupt Enable More... | |
| #define | I2SC_IER_ENDTX (0x1u << 7) |
| (I2SC_IER) End of Transmission Interrupt Enable More... | |
| #define | I2SC_IER_RXFULL (0x1u << 19) |
| (I2SC_IER) Receive Buffer Full Interrupt Enable More... | |
| #define | I2SC_IER_TXEMPTY (0x1u << 31) |
| (I2SC_IER) Transmit Buffer Empty Interrupt Enable More... | |
| #define | I2SC_IDR_RXRDY (0x1u << 1) |
| (I2SC_IDR) Receiver Ready Interrupt Disable More... | |
| #define | I2SC_IDR_RXOR (0x1u << 2) |
| (I2SC_IDR) Receiver Overrun Interrupt Disable More... | |
| #define | I2SC_IDR_ENDRX (0x1u << 3) |
| (I2SC_IDR) End of Reception Interrupt Disable More... | |
| #define | I2SC_IDR_TXRDY (0x1u << 5) |
| (I2SC_IDR) Transmit Ready Interrupt Disable More... | |
| #define | I2SC_IDR_TXUR (0x1u << 6) |
| (I2SC_IDR) Transmit Underflow Interrupt Disable More... | |
| #define | I2SC_IDR_ENDTX (0x1u << 7) |
| (I2SC_IDR) End of Transmission Interrupt Disable More... | |
| #define | I2SC_IDR_RXFULL (0x1u << 19) |
| (I2SC_IDR) Receive Buffer Full Interrupt Disable More... | |
| #define | I2SC_IDR_TXEMPTY (0x1u << 31) |
| (I2SC_IDR) Transmit Buffer Empty Interrupt Disable More... | |
| #define | I2SC_IMR_RXRDY (0x1u << 1) |
| (I2SC_IMR) Receiver Ready Interrupt Disable More... | |
| #define | I2SC_IMR_RXOR (0x1u << 2) |
| (I2SC_IMR) Receiver Overrun Interrupt Disable More... | |
| #define | I2SC_IMR_ENDRX (0x1u << 3) |
| (I2SC_IMR) End of Reception Interrupt Disable More... | |
| #define | I2SC_IMR_TXRDY (0x1u << 5) |
| (I2SC_IMR) Transmit Ready Interrupt Disable More... | |
| #define | I2SC_IMR_TXUR (0x1u << 6) |
| (I2SC_IMR) Transmit Underflow Interrupt Disable More... | |
| #define | I2SC_IMR_ENDTX (0x1u << 7) |
| (I2SC_IMR) End of Transmission Interrupt Disable More... | |
| #define | I2SC_IMR_RXFULL (0x1u << 19) |
| (I2SC_IMR) Receive Buffer Full Interrupt Disable More... | |
| #define | I2SC_IMR_TXEMPTY (0x1u << 31) |
| (I2SC_IMR) Transmit Buffer Empty Interrupt Disable More... | |
| #define | I2SC_RHR_RHR_Pos 0 |
| #define | I2SC_RHR_RHR_Msk (0xffffffffu << I2SC_RHR_RHR_Pos) |
| (I2SC_RHR) Receiver Holding Register More... | |
| #define | I2SC_THR_THR_Pos 0 |
| #define | I2SC_THR_THR_Msk (0xffffffffu << I2SC_THR_THR_Pos) |
| (I2SC_THR) Transmitter Holding Register More... | |
| #define | I2SC_THR_THR(value) ((I2SC_THR_THR_Msk & ((value) << I2SC_THR_THR_Pos))) |
| #define | I2SC_RPR_RXPTR_Pos 0 |
| #define | I2SC_RPR_RXPTR_Msk (0xffffffffu << I2SC_RPR_RXPTR_Pos) |
| (I2SC_RPR) Receive Pointer Register More... | |
| #define | I2SC_RPR_RXPTR(value) ((I2SC_RPR_RXPTR_Msk & ((value) << I2SC_RPR_RXPTR_Pos))) |
| #define | I2SC_RCR_RXCTR_Pos 0 |
| #define | I2SC_RCR_RXCTR_Msk (0xffffu << I2SC_RCR_RXCTR_Pos) |
| (I2SC_RCR) Receive Counter Register More... | |
| #define | I2SC_RCR_RXCTR(value) ((I2SC_RCR_RXCTR_Msk & ((value) << I2SC_RCR_RXCTR_Pos))) |
| #define | I2SC_TPR_TXPTR_Pos 0 |
| #define | I2SC_TPR_TXPTR_Msk (0xffffffffu << I2SC_TPR_TXPTR_Pos) |
| (I2SC_TPR) Transmit Counter Register More... | |
| #define | I2SC_TPR_TXPTR(value) ((I2SC_TPR_TXPTR_Msk & ((value) << I2SC_TPR_TXPTR_Pos))) |
| #define | I2SC_TCR_TXCTR_Pos 0 |
| #define | I2SC_TCR_TXCTR_Msk (0xffffu << I2SC_TCR_TXCTR_Pos) |
| (I2SC_TCR) Transmit Counter Register More... | |
| #define | I2SC_TCR_TXCTR(value) ((I2SC_TCR_TXCTR_Msk & ((value) << I2SC_TCR_TXCTR_Pos))) |
| #define | I2SC_RNPR_RXNPTR_Pos 0 |
| #define | I2SC_RNPR_RXNPTR_Msk (0xffffffffu << I2SC_RNPR_RXNPTR_Pos) |
| (I2SC_RNPR) Receive Next Pointer More... | |
| #define | I2SC_RNPR_RXNPTR(value) ((I2SC_RNPR_RXNPTR_Msk & ((value) << I2SC_RNPR_RXNPTR_Pos))) |
| #define | I2SC_RNCR_RXNCTR_Pos 0 |
| #define | I2SC_RNCR_RXNCTR_Msk (0xffffu << I2SC_RNCR_RXNCTR_Pos) |
| (I2SC_RNCR) Receive Next Counter More... | |
| #define | I2SC_RNCR_RXNCTR(value) ((I2SC_RNCR_RXNCTR_Msk & ((value) << I2SC_RNCR_RXNCTR_Pos))) |
| #define | I2SC_TNPR_TXNPTR_Pos 0 |
| #define | I2SC_TNPR_TXNPTR_Msk (0xffffffffu << I2SC_TNPR_TXNPTR_Pos) |
| (I2SC_TNPR) Transmit Next Pointer More... | |
| #define | I2SC_TNPR_TXNPTR(value) ((I2SC_TNPR_TXNPTR_Msk & ((value) << I2SC_TNPR_TXNPTR_Pos))) |
| #define | I2SC_TNCR_TXNCTR_Pos 0 |
| #define | I2SC_TNCR_TXNCTR_Msk (0xffffu << I2SC_TNCR_TXNCTR_Pos) |
| (I2SC_TNCR) Transmit Counter Next More... | |
| #define | I2SC_TNCR_TXNCTR(value) ((I2SC_TNCR_TXNCTR_Msk & ((value) << I2SC_TNCR_TXNCTR_Pos))) |
| #define | I2SC_PTCR_RXTEN (0x1u << 0) |
| (I2SC_PTCR) Receiver Transfer Enable More... | |
| #define | I2SC_PTCR_RXTDIS (0x1u << 1) |
| (I2SC_PTCR) Receiver Transfer Disable More... | |
| #define | I2SC_PTCR_TXTEN (0x1u << 8) |
| (I2SC_PTCR) Transmitter Transfer Enable More... | |
| #define | I2SC_PTCR_TXTDIS (0x1u << 9) |
| (I2SC_PTCR) Transmitter Transfer Disable More... | |
| #define | I2SC_PTCR_RXCBEN (0x1u << 16) |
| (I2SC_PTCR) Receiver Circular Buffer Enable More... | |
| #define | I2SC_PTCR_RXCBDIS (0x1u << 17) |
| (I2SC_PTCR) Receiver Circular Buffer Disable More... | |
| #define | I2SC_PTCR_TXCBEN (0x1u << 18) |
| (I2SC_PTCR) Transmitter Circular Buffer Enable More... | |
| #define | I2SC_PTCR_TXCBDIS (0x1u << 19) |
| (I2SC_PTCR) Transmitter Circular Buffer Disable More... | |
| #define | I2SC_PTCR_ERRCLR (0x1u << 24) |
| (I2SC_PTCR) Transfer Bus Error Clear More... | |
| #define | I2SC_PTSR_RXTEN (0x1u << 0) |
| (I2SC_PTSR) Receiver Transfer Enable More... | |
| #define | I2SC_PTSR_TXTEN (0x1u << 8) |
| (I2SC_PTSR) Transmitter Transfer Enable More... | |
| #define | I2SC_PTSR_RXCBEN (0x1u << 16) |
| (I2SC_PTSR) Receiver Transfer Enable More... | |
| #define | I2SC_PTSR_TXCBEN (0x1u << 18) |
| (I2SC_PTSR) Transmitter Transfer Enable More... | |
| #define | I2SC_PTSR_ERR (0x1u << 24) |
| (I2SC_PTSR) Transfer Bus Error (clear on read) More... | |
SOFTWARE API DEFINITION FOR Inter-IC Sound Controller.
| #define I2SC_CR_CKDIS (0x1u << 3) |
(I2SC_CR) Clocks Disable
| #define I2SC_CR_CKEN (0x1u << 2) |
(I2SC_CR) Clocks Enable
| #define I2SC_CR_RXDIS (0x1u << 1) |
(I2SC_CR) Receiver Disable
| #define I2SC_CR_RXEN (0x1u << 0) |
(I2SC_CR) Receiver Enable
| #define I2SC_CR_SWRST (0x1u << 7) |
(I2SC_CR) Software Reset
| #define I2SC_CR_TXDIS (0x1u << 5) |
(I2SC_CR) Transmitter Disable
| #define I2SC_CR_TXEN (0x1u << 4) |
(I2SC_CR) Transmitter Enable
| #define I2SC_IDR_ENDRX (0x1u << 3) |
(I2SC_IDR) End of Reception Interrupt Disable
| #define I2SC_IDR_ENDTX (0x1u << 7) |
(I2SC_IDR) End of Transmission Interrupt Disable
| #define I2SC_IDR_RXFULL (0x1u << 19) |
(I2SC_IDR) Receive Buffer Full Interrupt Disable
| #define I2SC_IDR_RXOR (0x1u << 2) |
(I2SC_IDR) Receiver Overrun Interrupt Disable
| #define I2SC_IDR_RXRDY (0x1u << 1) |
(I2SC_IDR) Receiver Ready Interrupt Disable
| #define I2SC_IDR_TXEMPTY (0x1u << 31) |
(I2SC_IDR) Transmit Buffer Empty Interrupt Disable
| #define I2SC_IDR_TXRDY (0x1u << 5) |
(I2SC_IDR) Transmit Ready Interrupt Disable
| #define I2SC_IDR_TXUR (0x1u << 6) |
(I2SC_IDR) Transmit Underflow Interrupt Disable
| #define I2SC_IER_ENDRX (0x1u << 3) |
(I2SC_IER) End of Reception Interrupt Enable
| #define I2SC_IER_ENDTX (0x1u << 7) |
(I2SC_IER) End of Transmission Interrupt Enable
| #define I2SC_IER_RXFULL (0x1u << 19) |
(I2SC_IER) Receive Buffer Full Interrupt Enable
| #define I2SC_IER_RXOR (0x1u << 2) |
(I2SC_IER) Receiver Overrun Interrupt Enable
| #define I2SC_IER_RXRDY (0x1u << 1) |
(I2SC_IER) Receiver Ready Interrupt Enable
| #define I2SC_IER_TXEMPTY (0x1u << 31) |
(I2SC_IER) Transmit Buffer Empty Interrupt Enable
| #define I2SC_IER_TXRDY (0x1u << 5) |
(I2SC_IER) Transmit Ready Interrupt Enable
| #define I2SC_IER_TXUR (0x1u << 6) |
(I2SC_IER) Transmit Underflow Interrupt Enable
| #define I2SC_IMR_ENDRX (0x1u << 3) |
(I2SC_IMR) End of Reception Interrupt Disable
| #define I2SC_IMR_ENDTX (0x1u << 7) |
(I2SC_IMR) End of Transmission Interrupt Disable
| #define I2SC_IMR_RXFULL (0x1u << 19) |
(I2SC_IMR) Receive Buffer Full Interrupt Disable
| #define I2SC_IMR_RXOR (0x1u << 2) |
(I2SC_IMR) Receiver Overrun Interrupt Disable
| #define I2SC_IMR_RXRDY (0x1u << 1) |
(I2SC_IMR) Receiver Ready Interrupt Disable
| #define I2SC_IMR_TXEMPTY (0x1u << 31) |
(I2SC_IMR) Transmit Buffer Empty Interrupt Disable
| #define I2SC_IMR_TXRDY (0x1u << 5) |
(I2SC_IMR) Transmit Ready Interrupt Disable
| #define I2SC_IMR_TXUR (0x1u << 6) |
(I2SC_IMR) Transmit Underflow Interrupt Disable
| #define I2SC_MR_DATALENGTH_16_BITS (0x4u << 2) |
(I2SC_MR) Data length is set to 16 bits
| #define I2SC_MR_DATALENGTH_16_BITS_COMPACT (0x5u << 2) |
(I2SC_MR) Data length is set to 16-bit compact stereo.
Left sample in bits 15:0 and right sample in bits 31:16 of same word.
| #define I2SC_MR_DATALENGTH_18_BITS (0x3u << 2) |
(I2SC_MR) Data length is set to 18 bits
| #define I2SC_MR_DATALENGTH_20_BITS (0x2u << 2) |
(I2SC_MR) Data length is set to 20 bits
| #define I2SC_MR_DATALENGTH_24_BITS (0x1u << 2) |
(I2SC_MR) Data length is set to 24 bits
| #define I2SC_MR_DATALENGTH_32_BITS (0x0u << 2) |
(I2SC_MR) Data length is set to 32 bits
| #define I2SC_MR_DATALENGTH_8_BITS (0x6u << 2) |
(I2SC_MR) Data length is set to 8 bits
| #define I2SC_MR_DATALENGTH_8_BITS_COMPACT (0x7u << 2) |
(I2SC_MR) Data length is set to 8-bit compact stereo.
Left sample in bits 7:0 and right sample in bits 15:8 of the same word.
| #define I2SC_MR_DATALENGTH_Msk (0x7u << I2SC_MR_DATALENGTH_Pos) |
(I2SC_MR) Data Word Length
| #define I2SC_MR_DATALENGTH_Pos 2 |
| #define I2SC_MR_IMCKDIV | ( | value | ) | ((I2SC_MR_IMCKDIV_Msk & ((value) << I2SC_MR_IMCKDIV_Pos))) |
| #define I2SC_MR_IMCKDIV_Msk (0x3fu << I2SC_MR_IMCKDIV_Pos) |
(I2SC_MR) Peripheral Clock to I2SC Master Clock Ratio
| #define I2SC_MR_IMCKDIV_Pos 16 |
| #define I2SC_MR_IMCKFS_M2SF1024 (0x3Fu << 24) |
(I2SC_MR) Sample frequency ratio set to 1024
| #define I2SC_MR_IMCKFS_M2SF128 (0x7u << 24) |
(I2SC_MR) Sample frequency ratio set to 128
| #define I2SC_MR_IMCKFS_M2SF16 (0x0u << 24) |
(I2SC_MR) Sample frequency ratio set to 16
| #define I2SC_MR_IMCKFS_M2SF192 (0xBu << 24) |
(I2SC_MR) Sample frequency ratio set to 192
| #define I2SC_MR_IMCKFS_M2SF256 (0xFu << 24) |
(I2SC_MR) Sample frequency ratio set to 256
| #define I2SC_MR_IMCKFS_M2SF32 (0x1u << 24) |
(I2SC_MR) Sample frequency ratio set to 32
| #define I2SC_MR_IMCKFS_M2SF384 (0x17u << 24) |
(I2SC_MR) Sample frequency ratio set to 384
| #define I2SC_MR_IMCKFS_M2SF48 (0x2u << 24) |
(I2SC_MR) Sample frequency ratio set to 48
| #define I2SC_MR_IMCKFS_M2SF512 (0x1Fu << 24) |
(I2SC_MR) Sample frequency ratio set to 512
| #define I2SC_MR_IMCKFS_M2SF64 (0x3u << 24) |
(I2SC_MR) Sample frequency ratio set to 64
| #define I2SC_MR_IMCKFS_M2SF768 (0x2Fu << 24) |
(I2SC_MR) Sample frequency ratio set to 768
| #define I2SC_MR_IMCKFS_M2SF96 (0x5u << 24) |
(I2SC_MR) Sample frequency ratio set to 96
| #define I2SC_MR_IMCKFS_Msk (0x3fu << I2SC_MR_IMCKFS_Pos) |
(I2SC_MR) Master Clock to fs Ratio
| #define I2SC_MR_IMCKFS_Pos 24 |
| #define I2SC_MR_IMCKMODE (0x1u << 30) |
(I2SC_MR) Master Clock Mode
| #define I2SC_MR_IWS (0x1u << 31) |
(I2SC_MR) I2SWS TDM Slot Width
| #define I2SC_MR_MODE (0x1u << 0) |
(I2SC_MR) Inter-IC Sound Controller Mode
| #define I2SC_MR_MODE_MASTER (0x1u << 0) |
(I2SC_MR) Bit clock and word select/frame synchronization generated by I2SC from MCK and output to I2SCK and I2SWS pins.
MCK is output as master clock on I2SMCK if IMCKMODE bit of I2SC_MR is set.
| #define I2SC_MR_MODE_SLAVE (0x0u << 0) |
(I2SC_MR) I2SCK and i2SWS pin inputs used as bit clock and word select/frame synchronization.
| #define I2SC_MR_RXDMA (0x1u << 9) |
(I2SC_MR) Single or Multiple PDC Channels for Receiver
| #define I2SC_MR_RXLOOP (0x1u << 10) |
(I2SC_MR) Loop-back Test Mode
| #define I2SC_MR_RXMONO (0x1u << 8) |
(I2SC_MR) Receive Mono
| #define I2SC_MR_TXDMA (0x1u << 13) |
(I2SC_MR) Single or Multiple PDC Channels for Transmitter
| #define I2SC_MR_TXMONO (0x1u << 12) |
(I2SC_MR) Transmit Mono
| #define I2SC_MR_TXSAME (0x1u << 14) |
(I2SC_MR) Transmit Data when Underrun
| #define I2SC_PTCR_ERRCLR (0x1u << 24) |
(I2SC_PTCR) Transfer Bus Error Clear
| #define I2SC_PTCR_RXCBDIS (0x1u << 17) |
(I2SC_PTCR) Receiver Circular Buffer Disable
| #define I2SC_PTCR_RXCBEN (0x1u << 16) |
(I2SC_PTCR) Receiver Circular Buffer Enable
| #define I2SC_PTCR_RXTDIS (0x1u << 1) |
(I2SC_PTCR) Receiver Transfer Disable
| #define I2SC_PTCR_RXTEN (0x1u << 0) |
(I2SC_PTCR) Receiver Transfer Enable
| #define I2SC_PTCR_TXCBDIS (0x1u << 19) |
(I2SC_PTCR) Transmitter Circular Buffer Disable
| #define I2SC_PTCR_TXCBEN (0x1u << 18) |
(I2SC_PTCR) Transmitter Circular Buffer Enable
| #define I2SC_PTCR_TXTDIS (0x1u << 9) |
(I2SC_PTCR) Transmitter Transfer Disable
| #define I2SC_PTCR_TXTEN (0x1u << 8) |
(I2SC_PTCR) Transmitter Transfer Enable
| #define I2SC_PTSR_ERR (0x1u << 24) |
(I2SC_PTSR) Transfer Bus Error (clear on read)
| #define I2SC_PTSR_RXCBEN (0x1u << 16) |
(I2SC_PTSR) Receiver Transfer Enable
| #define I2SC_PTSR_RXTEN (0x1u << 0) |
(I2SC_PTSR) Receiver Transfer Enable
| #define I2SC_PTSR_TXCBEN (0x1u << 18) |
(I2SC_PTSR) Transmitter Transfer Enable
| #define I2SC_PTSR_TXTEN (0x1u << 8) |
(I2SC_PTSR) Transmitter Transfer Enable
| #define I2SC_RCR_RXCTR | ( | value | ) | ((I2SC_RCR_RXCTR_Msk & ((value) << I2SC_RCR_RXCTR_Pos))) |
| #define I2SC_RCR_RXCTR_Msk (0xffffu << I2SC_RCR_RXCTR_Pos) |
(I2SC_RCR) Receive Counter Register
| #define I2SC_RCR_RXCTR_Pos 0 |
| #define I2SC_RHR_RHR_Msk (0xffffffffu << I2SC_RHR_RHR_Pos) |
(I2SC_RHR) Receiver Holding Register
| #define I2SC_RHR_RHR_Pos 0 |
| #define I2SC_RNCR_RXNCTR | ( | value | ) | ((I2SC_RNCR_RXNCTR_Msk & ((value) << I2SC_RNCR_RXNCTR_Pos))) |
| #define I2SC_RNCR_RXNCTR_Msk (0xffffu << I2SC_RNCR_RXNCTR_Pos) |
(I2SC_RNCR) Receive Next Counter
| #define I2SC_RNCR_RXNCTR_Pos 0 |
| #define I2SC_RNPR_RXNPTR | ( | value | ) | ((I2SC_RNPR_RXNPTR_Msk & ((value) << I2SC_RNPR_RXNPTR_Pos))) |
| #define I2SC_RNPR_RXNPTR_Msk (0xffffffffu << I2SC_RNPR_RXNPTR_Pos) |
(I2SC_RNPR) Receive Next Pointer
| #define I2SC_RNPR_RXNPTR_Pos 0 |
| #define I2SC_RPR_RXPTR | ( | value | ) | ((I2SC_RPR_RXPTR_Msk & ((value) << I2SC_RPR_RXPTR_Pos))) |
| #define I2SC_RPR_RXPTR_Msk (0xffffffffu << I2SC_RPR_RXPTR_Pos) |
(I2SC_RPR) Receive Pointer Register
| #define I2SC_RPR_RXPTR_Pos 0 |
| #define I2SC_SCR_RXOR (0x1u << 2) |
(I2SC_SCR) Receive Overrun Status Clear
| #define I2SC_SCR_RXORCH | ( | value | ) | ((I2SC_SCR_RXORCH_Msk & ((value) << I2SC_SCR_RXORCH_Pos))) |
| #define I2SC_SCR_RXORCH_Msk (0x3u << I2SC_SCR_RXORCH_Pos) |
(I2SC_SCR) Receive Overrun Per Channel Status Clear
| #define I2SC_SCR_RXORCH_Pos 8 |
| #define I2SC_SCR_TXUR (0x1u << 6) |
(I2SC_SCR) Transmit Underrun Status Clear
| #define I2SC_SCR_TXURCH | ( | value | ) | ((I2SC_SCR_TXURCH_Msk & ((value) << I2SC_SCR_TXURCH_Pos))) |
| #define I2SC_SCR_TXURCH_Msk (0x3u << I2SC_SCR_TXURCH_Pos) |
(I2SC_SCR) Transmit Underrun Per Channel Status Clear
| #define I2SC_SCR_TXURCH_Pos 20 |
| #define I2SC_SR_ENDRX (0x1u << 3) |
(I2SC_SR) End of Receiver Transfer
| #define I2SC_SR_ENDTX (0x1u << 7) |
(I2SC_SR) End of Transmitter Transfer
| #define I2SC_SR_RXBUFF (0x1u << 19) |
(I2SC_SR) Receive Buffer Full
| #define I2SC_SR_RXEN (0x1u << 0) |
(I2SC_SR) Receiver Enabled
| #define I2SC_SR_RXOR (0x1u << 2) |
(I2SC_SR) Receive Overrun
| #define I2SC_SR_RXORCH_Msk (0x3u << I2SC_SR_RXORCH_Pos) |
(I2SC_SR) Receive Overrun Channel
| #define I2SC_SR_RXORCH_Pos 8 |
| #define I2SC_SR_RXRDY (0x1u << 1) |
(I2SC_SR) Receive Ready
| #define I2SC_SR_TXBUFE (0x1u << 31) |
(I2SC_SR) Transmit Buffer Empty
| #define I2SC_SR_TXEN (0x1u << 4) |
(I2SC_SR) Transmitter Enabled
| #define I2SC_SR_TXRDY (0x1u << 5) |
(I2SC_SR) Transmit Ready
| #define I2SC_SR_TXUR (0x1u << 6) |
(I2SC_SR) Transmit Underrun
| #define I2SC_SR_TXURCH_Msk (0x3u << I2SC_SR_TXURCH_Pos) |
(I2SC_SR) Transmit Underrun Channel
| #define I2SC_SR_TXURCH_Pos 20 |
| #define I2SC_SSR_RXOR (0x1u << 2) |
(I2SC_SSR) Receive Overrun Status Set
| #define I2SC_SSR_RXORCH | ( | value | ) | ((I2SC_SSR_RXORCH_Msk & ((value) << I2SC_SSR_RXORCH_Pos))) |
| #define I2SC_SSR_RXORCH_Msk (0x3u << I2SC_SSR_RXORCH_Pos) |
(I2SC_SSR) Receive Overrun Per Channel Status Set
| #define I2SC_SSR_RXORCH_Pos 8 |
| #define I2SC_SSR_TXUR (0x1u << 6) |
(I2SC_SSR) Transmit Underrun Status Set
| #define I2SC_SSR_TXURCH | ( | value | ) | ((I2SC_SSR_TXURCH_Msk & ((value) << I2SC_SSR_TXURCH_Pos))) |
| #define I2SC_SSR_TXURCH_Msk (0x3u << I2SC_SSR_TXURCH_Pos) |
(I2SC_SSR) Transmit Underrun Per Channel Status Set
| #define I2SC_SSR_TXURCH_Pos 20 |
| #define I2SC_TCR_TXCTR | ( | value | ) | ((I2SC_TCR_TXCTR_Msk & ((value) << I2SC_TCR_TXCTR_Pos))) |
| #define I2SC_TCR_TXCTR_Msk (0xffffu << I2SC_TCR_TXCTR_Pos) |
(I2SC_TCR) Transmit Counter Register
| #define I2SC_TCR_TXCTR_Pos 0 |
| #define I2SC_THR_THR | ( | value | ) | ((I2SC_THR_THR_Msk & ((value) << I2SC_THR_THR_Pos))) |
| #define I2SC_THR_THR_Msk (0xffffffffu << I2SC_THR_THR_Pos) |
(I2SC_THR) Transmitter Holding Register
| #define I2SC_THR_THR_Pos 0 |
| #define I2SC_TNCR_TXNCTR | ( | value | ) | ((I2SC_TNCR_TXNCTR_Msk & ((value) << I2SC_TNCR_TXNCTR_Pos))) |
| #define I2SC_TNCR_TXNCTR_Msk (0xffffu << I2SC_TNCR_TXNCTR_Pos) |
(I2SC_TNCR) Transmit Counter Next
| #define I2SC_TNCR_TXNCTR_Pos 0 |
| #define I2SC_TNPR_TXNPTR | ( | value | ) | ((I2SC_TNPR_TXNPTR_Msk & ((value) << I2SC_TNPR_TXNPTR_Pos))) |
| #define I2SC_TNPR_TXNPTR_Msk (0xffffffffu << I2SC_TNPR_TXNPTR_Pos) |
(I2SC_TNPR) Transmit Next Pointer
| #define I2SC_TNPR_TXNPTR_Pos 0 |
| #define I2SC_TPR_TXPTR | ( | value | ) | ((I2SC_TPR_TXPTR_Msk & ((value) << I2SC_TPR_TXPTR_Pos))) |
| #define I2SC_TPR_TXPTR_Msk (0xffffffffu << I2SC_TPR_TXPTR_Pos) |
(I2SC_TPR) Transmit Counter Register
| #define I2SC_TPR_TXPTR_Pos 0 |


olm package¶
olm.account module¶
libolm Account module.
This module contains the account part of the olm library. It contains a single Account class which handles the creation of new accounts as well as the storing and restoring of them.
Examples
>>> acc = Account()
>>> account.identity_keys()
>>> account.generate_one_time_keys(1)
-
class
olm.account.
Account
[source]¶ Bases:
object
libolm Account class.
-
classmethod
from_pickle
(pickle, passphrase='')[source]¶ Load an previously stored olm account.
Loads an account from a pickled base64 string and returns an Account object. Decrypts the account using the supplied passphrase. Raises OlmAccountError on failure. If the passphrase doesn’t match the one used to encrypt the account then the error message for the exception will be “BAD_ACCOUNT_KEY”. If the base64 couldn’t be decoded then the error message will be “INVALID_BASE64”.
Parameters: - pickle (bytes) – Base64 encoded byte string containing the pickled account
- passphrase (str, optional) – The passphrase used to encrypt the account.
-
generate_one_time_keys
(count)[source]¶ Generate a number of new one time keys.
If the total number of keys stored by this account exceeds max_one_time_keys() then the old keys are discarded. Raises OlmAccountError on error. If the number of random bytes is too small then the error message of the exception will be NOT_ENOUGH_RANDOM.
Parameters: count (int) – The number of keys to generate.
-
identity_keys
¶ dict – Public part of the identity keys of the account.
-
max_one_time_keys
¶ int – The maximum number of one time keys the account can store.
-
one_time_keys
¶ dict – The public part of the one time keys for this account.
-
pickle
(passphrase='')[source]¶ Store an olm account.
Stores an account as a base64 string. Encrypts the account using the supplied passphrase. Returns a byte object containing the base64 encoded string of the pickled account. Raises OlmAccountError on failure.
Parameters: passphrase (str, optional) – The passphrase to be used to encrypt the account.
-
remove_one_time_keys
(session)[source]¶ Remove used one time keys.
Removes the one time keys that the session used from the account. Raises OlmAccountError on failure. If the account doesn’t have any matching one time keys then the error message of the exception will be “BAD_MESSAGE_KEY_ID”.
Parameters: - session (Session) – An Olm Session object that was created with this
- account. –
-
classmethod
olm.group_session module¶
libolm Group session module.
This module contains the group session part of the Olm library. It contains two classes for creating inbound and outbound group sessions.
Examples
>>> outbound = OutboundGroupSession()
>>> InboundGroupSession(outbound.session_key)
-
class
olm.group_session.
InboundGroupSession
(session_key)[source]¶ Bases:
object
Inbound group session for encrypted multiuser communication.
-
decrypt
(ciphertext)[source]¶ Decrypt a message
Returns a tuple of the decrypted plain-text and the message index of the decrypted message or raises OlmGroupSessionError on failure. On failure the error message of the exception will be:
- OLM_INVALID_BASE64 if the message is not valid base-64
- OLM_BAD_MESSAGE_VERSION if the message was encrypted with an
- unsupported version of the protocol
- OLM_BAD_MESSAGE_FORMAT if the message headers could not be
- decoded
- OLM_BAD_MESSAGE_MAC if the message could not be verified
- OLM_UNKNOWN_MESSAGE_INDEX if we do not have a session key
- corresponding to the message’s index (ie, it was sent before the session key was shared with us)
Parameters: ciphertext (str) – Base64 encoded ciphertext containing the encrypted message
-
export_session
(message_index)[source]¶ Export an inbound group session
Export the base64-encoded ratchet key for this session, at the given index, in a format which can be used by import_session().
Raises OlmGroupSessionError on failure. The error message for the exception will be:
- OLM_UNKNOWN_MESSAGE_INDEX if we do not have a session key
- corresponding to the given index (ie, it was sent before the session key was shared with us)
Parameters: message_index (int) – The message index at which the session should be exported.
-
first_known_index
¶ int – The first message index we know how to decrypt.
-
classmethod
from_pickle
(pickle, passphrase='')[source]¶ Load a previously stored inbound group session.
Loads a inbound group session from a pickled base64 string and returns a InboundGroupSession object. Decrypts the session using the supplied passphrase. Raises OlmSessionError on failure. If the passphrase doesn’t match the one used to encrypt the session then the error message for the exception will be “BAD_ACCOUNT_KEY”. If the base64 couldn’t be decoded then the error message will be “INVALID_BASE64”.
Parameters: - pickle (bytes) – Base64 encoded byte string containing the pickled session
- passphrase (str, optional) – The passphrase used to encrypt the
-
id
¶ str – A base64 encoded identifier for this session.
-
classmethod
import_session
(session_key)[source]¶ Create a InboundGroupSession from an exported session key.
Creates a InboundGroupSession with an previously exported session key, raises OlmGroupSessionError on failure. The error message for the exception will be:
- OLM_INVALID_BASE64 if the session_key is not valid base64
- OLM_BAD_SESSION_KEY if the session_key is invalid
Parameters: session_key (str) – The exported session key with which the inbound group session will be created
-
pickle
(passphrase='')[source]¶ Store an inbound group session.
Stores a group session as a base64 string. Encrypts the session using the supplied passphrase. Returns a byte object containing the base64 encoded string of the pickled session.
Parameters: passphrase (str, optional) – The passphrase to be used to encrypt the session.
-
-
exception
olm.group_session.
OlmGroupSessionError
[source]¶ Bases:
Exception
libolm Group session error exception.
-
class
olm.group_session.
OutboundGroupSession
[source]¶ Bases:
object
Outbound group session for encrypted multiuser communication.
-
encrypt
(plaintext)[source]¶ Encrypt a message.
Returns the encrypted ciphertext.
Parameters: plaintext (str) – A string that will be encrypted using the group session.
-
classmethod
from_pickle
(pickle, passphrase='')[source]¶ Load a previously stored outbound group session.
Loads a outbound group session from a pickled base64 string and returns a OutboundGroupSession object. Decrypts the session using the supplied passphrase. Raises OlmSessionError on failure. If the passphrase doesn’t match the one used to encrypt the session then the error message for the exception will be “BAD_ACCOUNT_KEY”. If the base64 couldn’t be decoded then the error message will be “INVALID_BASE64”.
Parameters: - pickle (bytes) – Base64 encoded byte string containing the pickled session
- passphrase (str, optional) – The passphrase used to encrypt the
-
id
¶ str – A base64 encoded identifier for this session.
-
message_index
¶ int – The current message index of the session.
Each message is encrypted with an increasing index. This is the index for the next message.
-
pickle
(passphrase='')[source]¶ Store an outbound group session.
Stores a group session as a base64 string. Encrypts the session using the supplied passphrase. Returns a byte object containing the base64 encoded string of the pickled session.
Parameters: passphrase (str, optional) – The passphrase to be used to encrypt the session.
-
session_key
¶ The base64-encoded current ratchet key for this session.
Each message is encrypted with a different ratchet key. This function returns the ratchet key that will be used for the next message.
-
olm.session module¶
libolm Session module.
This module contains the Olm Session part of the Olm library.
It is used to establish a peer to peer encrypted communication channel between two Olm accounts.
Examples
>>> alice = Account()
>>> bob = Account()
>>> bob.generate_one_time_keys(1)
>>> id_key = bob.identity_keys['curve25519']
>>> one_time = list(bob.one_time_keys["curve25519"].values())[0]
>>> session = OutboundSession(alice, id_key, one_time)
>>> s = OutboundSession(alice, id_key, one_time)
-
class
olm.session.
InboundSession
(account, message, identity_key=None)[source]¶ Bases:
olm.session.Session
Inbound Olm session for p2p encrypted communication.
-
class
olm.session.
OlmPreKeyMessage
(ciphertext)[source]¶ Bases:
olm.session._OlmMessage
Olm prekey message class
Prekey messages are used to establish an Olm session. After the first message exchange the session switches to normal messages
-
class
olm.session.
OutboundSession
(account, identity_key, one_time_key)[source]¶ Bases:
olm.session.Session
Outbound Olm session for p2p encrypted communication.
-
class
olm.session.
Session
[source]¶ Bases:
object
libolm Session class. This is an abstract class that can’t be instantiated except when unpickling a previously pickled InboundSession or OutboundSession object with from_pickle.
-
decrypt
(message)[source]¶ Decrypts a message using the session. Returns the plaintext string on success. Raises OlmSessionError on failure. If the base64 couldn’t be decoded then the error message will be “INVALID_BASE64”. If the message is for an unsupported version of the protocol the error message will be “BAD_MESSAGE_VERSION”. If the message couldn’t be decoded then the error message will be “BAD_MESSAGE_FORMAT”. If the MAC on the message was invalid then the error message will be “BAD_MESSAGE_MAC”.
Parameters: - message (OlmMessage) – The Olm message that will be decrypted. It can
- either a OlmPreKeyMessage or a OlmMessage. (be) –
-
encrypt
(plaintext)[source]¶ Encrypts a message using the session. Returns the ciphertext as an base64 encoded strin on success. Raises OlmSessionError on failure. If there weren’t enough random bytes to encrypt the message the error message for the exception will be NOT_ENOUGH_RANDOM.
Parameters: plaintext (str) – The plaintext message that will be encrypted.
-
classmethod
from_pickle
(pickle, passphrase='')[source]¶ Load an previously stored olm session.
Loads a session from a pickled base64 string and returns a Session object. Decrypts the session using the supplied passphrase. Raises OlmSessionError on failure. If the passphrase doesn’t match the one used to encrypt the session then the error message for the exception will be “BAD_ACCOUNT_KEY”. If the base64 couldn’t be decoded then the error message will be “INVALID_BASE64”.
Parameters: - pickle (bytes) – Base64 encoded byte string containing the pickled session
- passphrase (str, optional) – The passphrase used to encrypt the session.
-
id
¶ str – An identifier for this session. Will be the same for both ends of the conversation.
-
matches
(message, identity_key=None)[source]¶ Checks if the PRE_KEY message is for this in-bound session. This can happen if multiple messages are sent to this session before this session sends a message in reply. Returns True if the session matches. Returns False if the session does not match. Raises OlmSessionError on failure. If the base64 couldn’t be decoded then the error message will be “INVALID_BASE64”. If the message was for an unsupported protocol version then the error message will be “BAD_MESSAGE_VERSION”. If the message couldn’t be decoded then then the error message will be * “BAD_MESSAGE_FORMAT”.
Parameters: - message (OlmPreKeyMessage) – The Olm prekey message that will checked if it is intended for this session.
- identity_key (str, optional) – The identity key of the sender. To check if the message was also sent using this identity key.
-
pickle
(passphrase='')[source]¶ Store a olm session.
Stores a session as a base64 string. Encrypts the session using the supplied passphrase. Returns a byte object containing the base64 encoded string of the pickled session. Raises OlmSessionError on failure.
Parameters: passphrase (str, optional) – The passphrase to be used to encrypt the session.
-
olm.utility module¶
libolm Utility module.
This module contains utilities for olm. It only contains the ed25519_verify function for signature verification.
Examples
>>> alice = Account()
>>> message = "Test"
>>> signature = alice.sign(message)
>>> signing_key = alice.identity_keys["ed25519"]
>>> ed25519_verify(signing_key, message, signature)


x match { case 1 => "one" case "two" => "two" case _ => "many" }
if (x == 1) { "one" } else if (x == "two") { "two" } else { "many" }
(instanceof
shorthand)
def kindOf(o: Any) = o match { case b: Boolean => "boolean" case n: Int => "integer" case s: String => "string" case _ => "unknown" }
(can improve algorithms readability)
def fact(n: Int): Int = n match { case 0 => 1 case n => n * fact(n - 1) }
(aka “stable identifiers” patterns)
sealed trait Action object Drink extends Action object Eat extends Action object Sleep extends Action def execute(a: Action) = a match { case Drink => "slurp" case Eat => "crunch" case Sleep => "zzZZz" }
Does this code work?
val mystery = round(random * 3) def guess(n: Long) = n match { case mystery => "Yeepee!" case _ => "Missed…" }
An identifier starting with a lower-case letter is a variable identifier
Enclose it with backquotes and it will be treated as a stable identifier:
val mystery = round(random * 5) def guess(n: Long) = n match { case `mystery` => "Yeepee!" case _ => "Missed…" }
x match { case 0 | 1 | 2 => "less than 3" case n if n < 10 => "between 3 and 9" case n => "more than 9" }
case class User(name: String, age: Int, favThings: List[String]) def info(user: User) = user match { case User("Sadek", _, _) => "You are Sadek!" case User(_, n, _) if n < 18 => "You are under 18!" case User(_, _, List("Hacking")) => "You are a geek!" case _ => "You are boring!" }
case class User(name: String, age: Int) def test(users: List[User]) = users match { case List(single @ User(_, 20)) => single.name case List(_, tail @ _*) => tail.mkString case Nil => "nobody" }
sealed trait Op case class And(lhs: Boolean, rhs: Boolean) extends Op case class Or(lhs: Boolean, rhs: Boolean) extends Op def eval(op: Op) = op match { case And(l, r) => l && r case l Or r => l || r }
Syntactic sugar for tuples:
case (Some(a), Some(b)) => a + b case (_, _) => 0
user match { case User("Sadek") => "Ok" … }
Is “equivalent” to the following:
if (User.unapply(user) == Some("Sadek")) { "Ok" }
The unapply
contract
a: A match { case B(c: C) => … } object B { def unapply(a: A): Option[C] = … }
a: A match { case B(c: C, d: D) => … } object B { def unapply(a: A): Option[(C, D)] = … }
User.unapply
case class User(email: String, name: String)
Remove the leading case
keyword and write the extractor by hand
class User(val email: String, val name: String) object User { def unapply(??): ?? = ?? }
Exercise 2: Write User.unapply(json: JsValue)
Exercise 3: Write an At
email extractor conform to this spec:
<EMAIL_ADDRESS>match { case username At domain => { assert(username == "foo") assert(domain == "bar.com") } }
unapplySeq
xs match { case Several(x1, x2) => … case Several(x1, x2, x3) => … } object Several { def unapplySeq(xs: …): Option[Seq[…]] = … }
for
comprehension
You know what it is!
def partial: PartialFunction[Any, String] = { case User(name, age) => name }
is expanded to:
def partial = new PartialFunction[Any, String] { def apply(x: Any): String = x match { case User(name, age) => name } def isDefinedAt(x: Any): Boolean = { case User(name, age) => true case _ => false } }
(Works with Function[T,R]
too but in this case be sure to have an exhaustive pattern matching)
def usernames(xs: List[Any]): List[String] = xs collect { case User(name, age) => name }
Don’t do this:
def usernames(xs: List[Any]): List[String] = xs map { case User(name, age) => name }
scala> val User(_, age) = User("Julien", 25) age: Int = 25
for
comprehensionfor (User(_, age) <- users) yield age
is expanded to:
users.map { case User(_, age) => age }
With all what you’ve learnt, write a domains
function which takes a list of JSON objects and returns all domain names of user’s emails found in the objects.
val users = List( Js("""{"email"<EMAIL_ADDRESS>"name": "Sadek"}"""), Js("""{"name": "Guillaume"}"""), Js("""{"email"<EMAIL_ADDRESS>"name": "Julien"}""") ) println(domains(users)) // -> List("zenexity.com", "gmail.com")
unapply
method


{% extends "base.html" %} {% block content %}
Posted by {{ article.author }} on {{ article.publication_date|date:'F jS, Y' }}


Across: 1. Reasonable, but possibly over one's head (14) 9. Extra cost for grand umpire (7) 10. Guy takes computer studies at college in great spirit (7) 11. With reference to first female magistrate (5) 12. Over-zealous bosses I have backed up (9) 13. Sultan takes in the female protestants (9) 14. Lethargy in dealing with garden nuisances (5) 15. Girl holds one back with ropey material (5) 17. Toady interprets Psycho to social worker (9) 20. Complete change for sailor in dress (9) 22. Anger of king's daughter (5) 23. Bob leaves minister in the meantime (7) 24. This may be slow on "a turner" (3 4) 25. Philip Thorn sat with benefactor (14) Down: 1. Chinless wonder Pat has scruples and a sense of humour (5 5 4) 2. Steeped in most profound translation (7) 3. Aries man will cause a commotion (5 4) 4. Game cat may be a throw-back (7) 5. Meissen smashed by agent of doom! (7) 6. Girl in Tyneside caught up in gas explosion! (5) 7. Valiant countryman (7) 8. Official UN President ordered about ten (14) 14. Universal language operates round north (9) 16. Withdraw score (7) 17. Immediately Mum points out cold figure (7) 18. Vet's instruction to patient with throat infection? (7) 19. Native from Ghana, if displaced (7) 21. Liar keeps quiet for a month (5)


Dark Forest is a space conquest game built on Ethereum using zkSNARKs.
Connect to Ropsten on MetaMask and load up http://zkga.me. If you are participating in the contest, please also fill out this Google form to claim your winnings once the game has ended.
A pool of e (2.718) ETH will be distributed at the end of 48 hours based on the following calculations:
We encourage you to be hacky, and to write code to gain an advantage (see "Hints"). However, any hack that is clearly not in the spirit of the game (please use sensible discretion) may be grounds for disqualification. If in doubt, please ask!
You will be spawned at a home planet at a random location in the universe.
You can move forces from one of your own planets to another, conquer unowned planets, or attack enemy planets. Attacking enemy planets with enough forces will allow you to conquer them.
You can change how many forces to send from one planet to another in the "Forces" tab.
Planets you own are denoted with a blue ring. Enemy planets have a differently-colored ring.
Planets have various stats, shown in the "Details" tab:
Larger planets have higher attack, smaller planets have higher defense.
The web client uses a "miner" to uncover the locations of planets and players in the universe.
Your miner can explore space in different patterns, controllable in the "Miners" tab.
The universe is a 8192 x 8192 grid of cells. Each cell (x, y) is uniquely identified by its hash, MiMC(x, y). Rather than publishing the coordinates of planets they own, planets publish the hashes of planets to the blockchain, along with Zero-Knowledge Proofs that the planets are legitimate. In this way, player locations are kept secret, up to brute force computation.
"Planets" exist at all cells whose coordinates hash to under a difficulty threshold. This threshold specified in the Dark Forest Ethereum contract.
The web client miner lifts the "cryptographic fog of war" on the universe by computing hashes. These hashes are stored in browser local storage (IndexedDB). Note that you may compute hashes offline and enter them into local storage yourself as well.
The repository for this project can be found here.
If you have any questions about the game or the repository, please don't hesitate to ask us!


NOTE: This property is now obsolete.
Use Fix property
Gets or sets a value indicating whether only part of the logging event data should be fixed.
true
if the appender should only fix part of the logging event data, otherwise false
. The default is false
.
Setting this property to true
will cause only part of the event data to be fixed and stored in the appender, hereby improving performance.
See FixVolatileData for more information.
MemoryAppender Class | log4net.Appender Namespace


CMFR calls out Duterte gov't on attacks vs press
CMFR Executive Director Melinda Quintos de Jesus says it is necessary to 'clear the air' in order for plans on the safety of journalists to be properly implemented
by Vernise L TantucoSubscribe
Email Address
Newsletters
- Glenda Gloria's Take this Tuesday
- Huddle by Miriam Grace Go
- The Newsbreak Agenda by Chay Hofileña
- Sometimes, all you need is video by Lilibeth Frondoso


Let's talk about correlation today. A variable in a dataset can be related or dependent on some other variable.The relationship between them can be strong or light. Thus it's better to check it once before jumping on conclusions.
Correlation can be positive if both variables change in the same direction, negative if they are moving in the opposite direction or natural if there is no relationship. There are several techniques to find it like seaborn heatmap and pairplot. Let's discuss the maths behind it first then dive into the code snippets to understand the implementation.
Note: I have provided links to the sites where you can understand these formulae better with examples. I mostly create notes ( like this blog) so that it's easy for me to get everything in one place. So typing examples will be a lengthy task for me. Thank you.
1. Covariance:
If the variables are correlated with a linear relationship, then we can use covariance to find it.
Formula :
Covariance(X, Y) = [ Σ (Xi - mean(X) * (Yi - mean(Y) ] /(n-1)
The sign of the covariance is used to determine the type of relationship which is the same as defined above.
In python, we can use covariance by importing cov from NumPy. But it's difficult to interpret much from the magnitude of the results and multiple values.
Code snippet:
from numpy import cov
covariance = cov( X , Y )
2. Pearson's correlation coefficient:
It gives a coefficient value between -1 to 1 after normalizing the covariance with standard deviation (SD) for linear relationships.
Formula:
Covariance(X, Y)/ ( SD(X)*SD(Y))
The sign of the covariance is used to determine the type of relationship which is the same as defined above. Only the magnitude is betweeen -1 to 1.
pearsonr returns two values: first is the coefficient and the second is two-tailed p values.
Code snippet:
from scipy.stats import pearsonr
correlation , pvalue = pearsonr( X , Y )
3. Spearman's Correlation :
Spearman's correlation is used for finding nonlinear relationship. The coefficient lies between -1 to 1
Formula :
Covariance(rank(X), rank(Y)) / (SD(rank(X)) * SD(rank(Y)))
where rank means ranking the columns X in increasing order and then ranking Y according to X. See more info at
"Wikipedia Spearman's rank coefficient". Please see the example to understand more.
spearmanr also returns two values: first is the coefficient and the second is the pvalue
Code snippet:
from scipy.stats import spearmanr
correlation , pvalue = spearmanr( X , Y )
4. Kendall rank correlation coefficient:
It is calculated by using concordant and discordant pairs.
- Concordant: Here we count the number of smaller value elements below a particular element for a given column.
- Discordant: We count the number of higher value element below a particular element for a given column.
Check this:
"Statics How to" for understanding it with example.
Code snippet:
import scipy.stats as stats
correlation, pvalue = stats.kendalltau( X , Y )
5. Pandas corr( ) function
It uses pearson by default, but we can select from Pearson, Spearman or Kendall.
Code snippet:
import pandas
data.corr()
Seaborn heatmap and pair plot
The easiest way to draw a heatmap is finding the correlation first then passing it to heatmap( ) function defined in seaborn.
import seaborn as sns
import pandas as pd
correl=data.corr()
ax = sns.heatmap(correl)
This should produce a heatmap, something like this.
Various types of heatmap can be found in the
documentation of seaborn heatmap.
Next, we will use pairplot to plot pair of graphs.
sns.pairplot(data)
This should produce a cluster of bar graph and scatter graphs which can be used to find any relationship between the variables.
More variation can be found at
"Seaborn pairplot documentation"
The graphs are plotted for kaggle dataset
"Medical Cost Personal Datasets".
References: Click on any reference or you can copy it.


alg-paper-radio-group
A paper-radio-group allows only one item to be selected
allosaurus
brontosaurus
diplodocus
It can have an initial selection
allosaurus
brontosaurus
diplodocus
It can optionally allow items to be deselected
allosaurus
brontosaurus
diplodocus
radio-group or radio-buttons can send a message to the controller
Change1
Change2


Quality trustees from a trusted source
178 Sales and Marketing professionals
312 people from the Financial Services Industry and City
397 from the Home Counties
181 from the North of England
206 people from Central and Local Government
94 from the South West
122 HR professionals
539 people from the Civil Society sector
214 from the Midlands and East Anglia
84 Fundraisers
471 from London
|
|
Current Opportunities
There are currently no opportunities available
Closed Opportunities
Lantern Health Closed to further applications. |
|
The Cyclopark Trust Closed to further applications. |
|
ActionAid UK Closed to further applications. |
|
Allergy UK Closed to further applications. |
|
Church Mission Society (CMS) Closed to further applications. |
|
Autism Schools Trust Closed to further applications. |
|
The Karen Woo Foundation (KWF) Closed to further applications. |
|
Prospect Housing Closed to further applications. |
|
Ehlers-Danlos Support UK (EDS UK) Closed to further applications. |
|
Circulation Foundation Closed to further applications. |
|
The Sheppard Trust Closed to further applications. |
|
LHA London Closed to further applications. |
|
ActionAid Closed to further applications. |
|
West Essex Mind (WEM) Closed to further applications. |
|
The Abbey Community Association Closed to further applications. |
|
MAF Closed to further applications. |
|
The Phyllis Tuckwell Hospice (PTH) Closed to further applications. |
|
The Association of MBAs (AMBA) Closed to further applications. |
|
The New Economics Foundation (NEF) Closed to further applications. |
|
KCA Closed to further applications. |
|
Leeds Counselling Closed to further applications. |
|
Weldmar Hospicecare Trust Closed to further applications. |
|
The Abbey Community Association Closed to further applications.
|
|
Dimensions UK Closed to further applications. |
|
The Royal London Society for Blind People (RLSB) Closed to further applications. |
|
St Joseph's Hospice Closed to further applications. |
|
Parkinson's UK Closed to further applications. |
|
BATH UNI Closed to further applications. |
|
CIWEM Closed to further applications. |
|
PACE Closed to further applications. |
|
| |
The Lymphoma Association Closed to further applications. |
GVEP International Closed to further applications. |
|
Livability Closed to further applications. |
|
The MS Society Closed to further applications. |
|
The Royal College of Nursing Closed to further applications. |
|
St Joseph's Hospice Closed to further applications. |
|
Trinity Hospice Shops Ltd Closed to further applications. |
|
St Martin in-the-Fields Closed to further applications. |
|
The Royal Alexandra & Albert School Closed to further applications. |
|
Alzheimer's Society Closed to further applications. |
|
On Track Education Services Ltd Closed to further applications. |
|
SPANA Closed to further applications. |
|
Sound And Music Closed to further applications. |
|
CABA Closed to further applications. |
|
Music Of Life Closed to further applications. |
|
Prospect Housing Closed to further applications. |
|
Association of MBAs Closed to further applications. |
|
St Martin's in-the-Fields Closed to further applications. |
|
Quo Vadis Trust (QVT) Closed to further applications. |
|
1625 Independent People Closed to further applications. |
|
Greensleeves Homes Trust Closed to further applications. |
|
Thames Hospicecare Closed to further applications. |
|
WSPA Closed to further applications. |
|
The British Lung Foundation (BLF) Closed to further applications. |
|
Voiceability Closed to further applications. |
|
Saltdean Lido Closed to further applications. |
|
Claire House Closed to further applications. |
|
Signature Closed to further applications. |
|
Tutu Foundation UK Closed to further applications. |
|
Barnet College Southgate College Closed to further applications. |
|
Bladder and Bowel Foundation (BBF) Closed to further applications. |
|
Thames Hospicecare Closed to further applications. |
|
The Notting Hill Housing Trust Closed to further applications. |
|
National Care and Support Charity Closed to further applications. |
|
|
|
Expert Patients Programme CIC Closed to further applications. |
The Barnet Group Closed to further applications. |
|
The Thames Chase Plus Closed to further applications. |
|
SeeAbility Closed to further applications. |
|
|
Hearing Link Closed to further applications. |
The Organic Research Centre Closed to further applications. |
|
| The National Autistic Society Closed to further applications. |
|
|
Christian Aid Closed to further applications. |
| AbilityNet Closed to further applications. |
|
| The Medical Council on Alcohol Closed to further applications. |
|
WSPA Closed to further applications. |
|
Knowledge Unlatched Closed to further applications. |
|
| Thames Hospicecare Closed to further applications. |
|
| NUS - Lay Trustee Closed to further applications. |
|
| Livability Closed to further applications. |
|
SPANA Closed to further applications. |
|
Mencap Closed to further applications. |
|
Anchor Closed to further applications. |
|
Africa Justice Foundation Closed to further applications.
|
|
One Spirit Interfaith Foundation (OSIF) Closed to further applications.
|
|
| Together For Short Lives Closed to further applications. |
|
| Narcolepsy UK Closed to further applications. |
|
| Dreams Come True Closed to further applications. |
|
Learning Plus UK Closed to further applications. |
|
| Spiral Health CIC Closed to further applications. |
|
| The Phyllis Tuckwell Hospice Closed to further applications. |
|
| Mind Closed to further applications. |
|
| Autism West Midlands Closed to further applications. |
|
| Music of Life Closed to further applications. |
|
| Leap Confronting Conflict Closed to further applications. |
|
| Allergy UK Closed to further applications. New 2013-14 trustee opportunities will be announced next year. |
|
| The Child Migrants Trust Closed to further applications. |
|
| The Institution of Civil Engineers Closed to further applications. |
|
| Practical Action Closed to further applications. |
|
| Dance United Closed to further applications. |
|
| Scope Closed to further applications. |
|
| Tiri – Integrity Action (Chair) Closed to further applications. |
|
| The Karen Woo Foundation Closed to further applications. |
|
| The Brunswick Centre Closed to further applications. |
|
| Royal British Legion Closed to further applications. |
|
|
Haringey Age UK and Islington Age UK Closed to further applications. |
|
| Friends of Education Africa Closed to further applications. |
|
| The Centre For Public Scrutiny Closed to further applications. |
|
| Head for Business Closed to further applications. |
|
| Royal College of Nursing (2 roles: Audit Committee Chair & Independent Committee Member) Closed to further applications. |
|
| The Royal College of Nursing Foundation (Investment Committee Member) Closed to further applications. |
|
|
The Autism Research Trust (2 trustees) Closed to further applications. |
|
| WI Eterprises Limited (External Director) Closed to further applications. |
|
| Narcolepsy UK Closed to further applications. |
|
|
|
Signature Closed to further applications. |
|
The Association of MBAs Closed to further applications. |
|
| Action for Children (Trustee - Fundraising expertise) Closed to further applications. |
|
| World Society for the Protection of Animals (2 trustees) Closed to further applications. |
|
| The Larches Community Closed to further applications. |
|
| Cyclopark Closed to further applications. |
|
| Age UK Hounslow Closed to further applications. |
|
| Leeds Counselling Closed to further applications. |
|
| STA Travel Foundation (Trustee) Closed to further applications. |
|
| Voiceability (Chair) Closed to further applications. |
|
| The National Benevolent Charity Closed to further applications. |
|
| Affinity Trust (Panel Members for Remuneration Committee) Closed to further applications. |
|
| The Barnet Group (Chair and 1 Non Executive) Closed to further applications. |
|
| British Society for Rheumatology (Non-medical trustee) Closed to further applications. |
|
| Volunteering England Closed to further applications. |
|
| Westminster Carers Service Closed to further applications. |
|
| Islington Boat Club Closed to further applications. |
|
| The Teacher Support Network Closed to further applications. |
|
| National Foundation for Educational Research in England and Wales Closed to further applications. |
|
| Penrose Closed to further applications. |
|
| The Brain Injury Social Work Group (BISWG) Closed to further applications. |
|
| Age UK Richmond upon Thames Closed to further applications. |
|
| Age UK Sutton - Treasurer & Trustees Closed to further applications. |
|
| Age UK East London (Chair) Age UK London Closed to further applications. |
|
| Christian Aid Closed to further applications. |
|
| People's Health Trust - Chair Closed to further applications. |
|
| The Lymphoma Association – (1 Trustee looking to succeed as Chair within 12 months) Closed to further applications. |
|
| Bridge Mental Health (Treasurer) Closed to further applications. |
|
| Dreams Come True - (Chair) Closed to further applications. |
|
| The ReUse Centre in Bedford Closed to further applications. |
|
| The ReUse Centre in Bedford Closed to further applications. |
|
| The Public Fundraising Regulatory Association Closed to further applications. |
|
| Beating Bowel Cancer –Trustee(s) Closed to further applications. |
|
| Amnesty International UK Closed to further applications. |
|
| Gingerbread Closed to further applications. |
|
| Bridge Mental Health Closed to further applications. |
|
| Self Unlimited Closed to further applications. |
|
| Age Concern Hounslow Closed to further applications. |
|
| Women’s Resource Centre Closed to further applications. |
|
| The Multiple Sclerosis (MS) Society Scotland Closed to further applications. |
|
| Enfield Asian Welfare Association Closed to further applications. |
|
| Wandsworth Youth Enterprise Centre Closed to further applications. |
|
| The Royal London Society for the Blind (3 roles) Closed to further applications. |
|
| Thames Hospicecare Closed to further applications. View case study here. |
|
| The Charity Employee Benevolent Fund Closed to further applications. |
|
| Christian Aid Closed to further applications. View case study here. |
|
| My Voice London Closed to further applications. |
|
| The Scout Association Closed to further applications. |
|
| Community Options Closed to further applications. View case study here. |


UKCloud Limited (“UKC”) and Virtual Infrastructure Group Limited (“VIG”) (together “the Companies”) – in Compulsory Liquidation
On 25 October 2022, the Companies were placed into Liquidation with the Official Receiver appointed as Liquidator and J Robinson and A M Hudson simultaneously appointed as Special Managers to manage the liquidation process on behalf of the Official Receiver.
Further information regarding the Liquidations can be found here: https://www.gov.uk/government/news/virtual-infrastructure-group-limited-and-ukcloud-limited-information-for-creditors-and-interested-parties
Contact details:
For any general queries relating to the Liquidations please email<EMAIL_ADDRESS>For customer related queries please email<EMAIL_ADDRESS>For supplier related queries please email<EMAIL_ADDRESS>Understanding the difference between GB and GiB
Overview
This article explains why an operating system can report a different disk drive capacity to that specified by the vendor of the drive. UKCloud charges per GiB, rather than per GB, to ensure that you only pay for what you actually use.
This article provides information about disk capacity and explains when viewed by an operating system, why the capacity of a drive differs from what is reported by a vendor.
Why is this important?
When purchasing disk drives, 1 GB is often defined as 1,000,000,000 bytes. However, when viewed by an operating system, the capacity displayed is often less than this. For example, a new 1 TB hard drive would be reported by the OS as 931 GB (this is 931 GiB). GiB (Gibibytes) is a standard unit used in the field of data processing and transmission and is defined as base 1024 rather than base 1000.
For example, 1 GB is defined as 1000³ bytes, whereas 1 GiB is defined as 1024³ bytes.
| Unit of measure | Bytes |
|---|---|
| Kilobyte (KB) | 1000¹ = 1,000 |
| Megabyte (MB) | 1000² = 1,000,000 |
| Gigabyte (GB) | 1000³ = 1,000,000,000 |
| Terabyte (TB) | 1000⁴ = 1,000,000,000,000 |
| Petabyte (PB) | 1000⁵ = 1,000,000,000,000,000 |
| Kibibyte (KiB) | 1024¹ = 1,024 |
| Mebibyte (MiB) | 1024² = 1,048,576 |
| Gibibyte (GiB) | 1024³ = 1,073,741,824 |
| Tebibyte (TiB) | 1024⁴ = 1,099,511,627,776 |
| Pebibyte (PiB) | 1024⁵ = 1,125,899,906,842,624 |
How is this converted?
GB to GiB
Multiply by (1000³ / 1024³), equivalent to 0.931323
Divide by this value to go from GiB to GB
TB to TiB
Multiply by (1000⁴ / 1024⁴), equivalent to 0.909495
Divide by this value to go from TiB to TB
GiB to TiB
Divide by 1024
Multiply by 1024 to go from TiB to GiB
GiB to TB
- Convert into GB by dividing by 0.931323, then divide by 1000 to get into TB
Examples of conversions
1 GB = 0.93 GiB
1 TB = 0.91 TiB = 931 GiB
1 TiB = 1.1 TB = 1100 GB
Full worked example
Example customer has two disks in each server, with each disk capacity being 2.2 TB SSD. Therefore, the total drive size equals 4.4 TB or 4.001777 TiB which across 100 hosts would mean the capacity totals 440 TB or 400.1777 TiB.
The monthly charge would therefore be 400.1777 TiB, which when multiplied by 1024 to convert into GiB is 409,781.9 GiB. At a rate of 10p/GiB, the monthly charge would be £40,978.19 per month, equating to £409.78 per server.
To illustrate the difference between GiB and GB, if we charged at a rate of 10p/GB (instead of GiB) then you would be charged for 440,000 GB which equates to a total cost of £44,000 or £440 per server. This provides a significant price difference of £3,121.81 per month, a 7.6% increase in cost. By pricing our services at £/GiB you will be charged for around 93% of the total cost had prices been listed per GB.
Feedback
If you find a problem with this article, click Improve this Doc to make the change yourself or raise an issue in GitHub. If you have an idea for how we could improve any of our services, send an email to feedback@ukcloud.com.


MoonShine is a full-service agency that works with game-changing brands, inspired companies, and global influencers. Our core strategic engagements are designed to deliver results, from branding that breathes life into your story, to platform design that fosters engagement and campaigns that drive consumer action. Whether you’re just starting out or evolving your brand, MoonShine will help you grow
We breathe life into your company story, developing branding that advances your message and forms a distinct image. While each phase moves your brand somewhere new and exciting, we continuously infuse direction from what we’ve learned about where the brand has come from, where you’d like the brand to go, and how the new brand image will impact consumer behavior. Moonshine, we’ll help you take the first step or conquer the latest hurdle.
We design functional interfaces for an aesthetically pleasing digital presence that helps tell your story and boosts brand performance. Each site page and app screen relays an intuitive UX/UI design that maximizes visitor interaction with the help of data-driven research. We’re attuned to the trends and as responsive as our design – helping you engage consumers across the digital landscape.
Explore some of the interfaces we’ve created.
We take your brand, platform, and the business you’ve worked so hard to build out into the world through campaigns. And we’re not just throwing you to the wolves, mind you, but rather preparing you to go to market with a sound lead generation strategy and the metrics to back it up. That way, when we help you achieve exposure through expert placement, execution, and delivery, the creative concepts and overarching campaigns will stick with your consumers.


Installing Skupper
Using the install script
On Linux or the Mac, you can use the install script to download and extract the command:
curl https://skupper.io/install.sh | sh
The script installs the command under your home directory. It prompts you to add the command to your path if necessary.
Installing manually
Download the latest release
Select the latest release for your platform:
To get artifacts for other operating systems and architectures, see the GitHub release page.
Extract the Skupper command
Use tar
or unzip
to extract the command from the release archive:
tar -xf skupper-cli-1.4.1-linux-amd64.tgz
unzip skupper-cli-1.4.1-windows-amd64.zip
This produces an executable file named skupper
in your current
directory.
Place the command on your path
Move the executable file to your preferred location and make it available on your path. For example, this is how you might install it in your home directory:
mkdir $HOME/bin
mv skupper $HOME/bin
export PATH=$PATH:$HOME/bin
mkdir %UserProfile%\bin
move skupper.exe %UserProfile%\bin
set PATH=%PATH%;%UserProfile%\bin
Check the command
To test your installation, run the skupper version
command. You
should see output like this:
$ skupper version
client version 1.4.1
transport version not-found (no configuration has been provided)
controller version not-found (no configuration has been provided)
Upgrade sites
When you install a new version of the CLI, you can upgrade each site
using the skupper update
command.
While we try to make Skupper compatible between sites with different
versions, we recommend updating all sites at the same time.


Before Change
fdict = features.FeaturesDict(
{exp.name: exp.feature for exp in expectations})
decoded_sample = features_encode_decode(
fdict, dict([(exp.name, exp.value) for exp in expectations]))
for exp in expectations:
self.assertAllEqual(decoded_sample[exp.name], exp.expected)
// TODO(rsepassi): test shape and dtype against exp.feature
After Change
def test_encode_decode(self):
// Maybe should try to use metaclass instead and dynamically generate one
// method per feature expectation.
for exp in self.expectations:
tf.logging.info("Testing feature %s", exp.name)
// Check the shape/dtype
self.assertEqual(exp.feature.shape, exp.shape)
self.assertEqual(exp.feature.dtype, exp.dtype)
// Check the serialized features
if exp.serialized_features is not None:
self.assertEqual(
exp.serialized_features,
exp.feature.get_serialized_features(),
)
// Create the feature dict
fdict = features.FeaturesDict({exp.name: exp.feature})
for test in exp.tests:
input_value = {exp.name: test.value}
if test.raise_cls is not None:
if not test.raise_msg:
raise ValueError(
"test.raise_msg should be set with {}for test {}".format(
test.raise_cls, exp.name))
with self.assertRaisesWithPredicateMatch(
test.raise_cls, test.raise_msg):
features_encode_decode(fdict, input_value)
else:
// Test the serialization only
if test.expected_serialized is not None:
self.assertEqual(
test.expected_serialized,
exp.feature.encode_sample(test.value),
)
// Test serialization + decoding from disk
decoded_samples = features_encode_decode(fdict, input_value)
self.assertAllEqual(test.expected, decoded_samples[exp.name])
// TODO(rsepassi): test shape and dtype against exp.feature
def features_encode_decode(features_dict, sample):
Runs the full pipeline: encode > write > tmp files > read > decode.
// Encode sample
encoded_sample = features_dict.encode_sample(sample)


| xgb.Booster.complete {xgboost} | R Documentation |
It attempts to complete an xgb.Booster
object by restoring either its missing
raw model memory dump (when it has no raw
data but its xgb.Booster.handle
is valid)
or its missing internal handle (when its xgb.Booster.handle
is not valid
but it has a raw Booster memory dump).
xgb.Booster.complete(object, saveraw = TRUE)
object |
object of class |
saveraw |
a flag indicating whether to append |
While this method is primarily for internal use, it might be useful in some practical situations.
E.g., when an xgb.Booster
model is saved as an R object and then is loaded as an R object,
its handle (pointer) to an internal xgboost model would be invalid. The majority of xgboost methods
should still work for such a model object since those methods would be using
xgb.Booster.complete
internally. However, one might find it to be more efficient to call the
xgb.Booster.complete
function explicitly once after loading a model as an R-object.
That would prevent further repeated implicit reconstruction of an internal booster model.
An object of xgb.Booster
class.
data(agaricus.train, package='xgboost') bst <- xgboost(data = agaricus.train$data, label = agaricus.train$label, max_depth = 2, eta = 1, nthread = 2, nrounds = 2, objective = "binary:logistic") saveRDS(bst, "xgb.model.rds") bst1 <- readRDS("xgb.model.rds") if (file.exists("xgb.model.rds")) file.remove("xgb.model.rds") # the handle is invalid: print(bst1$handle) bst1 <- xgb.Booster.complete(bst1) # now the handle points to a valid internal booster model: print(bst1$handle)


4. Box Account¶
Box provides a cloud file sharing service for buisinesses. CLients exists for Windows, MacOS, and Linux. To obtain an account you have to first visit the box home page as
4.1. Sign up¶
To sign up for the account, click on the top right hand corner of the
box homepage on the Get Started
button.
Get started
From the plans page, select the Individual
tab and then click on the
free option.
Individual plan
Fill out the required information and click Submit
. You will receive a
confirmation email with a link to verify your account.
Ask for Information
Once you have verified your account and signed in, you will be taken to
a page that asks you about how you are using Box. You may fill this out
or click Skip this and go straight to Box
below the Next
button.
Next
4.2. Creating an app¶
Navigate to the developer console
and select Create New App
. You will need to select what type of
application you are building and an authentication method for your app
and then enter an app name (you can change this later). Once your app
has been created, click View App. You will then need to click the
profile button in the top right corner of the page, and go to
Account Settings
. Scroll down to the Authentication section and click
Require 2-step verification for unrecognized logins
, then follow the
prompts.
4.3. Authentication with JWT¶
In the Configuration panel of the Developer Console, scroll down to the
section titled Add and Manage Public Keys
and click
Generate a Public/Private Keypair
:
Box Add Key
Once you have generated a keypair, a config.json
file will
automatically download. Save this file in a secure location as you will
need it for authentication purposes. We recommend storing it at
~/.cloudmesh/box/config.json
. This will avoid that you conflict with
another file called config.json
[ ] todo: Box. A program is missing that adds the json key to the yaml file. This is the same as in Azure.


This is an simple angular app for {{company.name}} located in {{company.address}}
To enter data in a form and submit it to the server go to Contact
To see charts select type of chart in the dropdown menu on the top right of the site
Data used for visualisations is fetched from the server in JSON format. To see raw JSON data click Data


A study of the End Times on the basis of The Holy Bible
Question: "What is salvation? What is the Christian doctrine of salvation?"
Answer:
Salvation is deliverance from danger or suffering. To save is to deliver or protect. The word carries the idea of victory, health, or preservation. Sometimes, the Bible uses the words saved or salvation to refer to temporal, physical deliverance, such as Paul’s deliverance from prison (Philippians 1:19).
More often, the word “salvation” concerns an eternal, spiritual deliverance. When Paul told the Philippian jailer what he must do to be saved, he was referring to the jailer’s eternal destiny (Acts 16:30-31). Jesus equated being saved with entering the kingdom of God (Matthew 19:24-25).
What are we saved from? In the Christian doctrine of salvation, we are saved from “wrath,” that is, from God’s judgment of sin (Romans 5:9; 1 Thessalonians 5:9). Our sin has separated us from God, and the consequence of sin is death (Romans 6:23). Biblical salvation refers to our deliverance from the consequence of sin and therefore involves the removal of sin.
Who does the saving? Only God can remove sin and deliver us from sin’s penalty (2 Timothy 1:9; Titus 3:5).
How does God save? In the Christian doctrine of salvation, God has rescued us through Christ (John 3:17). Specifically, it was Jesus’ death on the cross and subsequent resurrection that achieved our salvation (Romans 5:10; Ephesians 1:7). Scripture is clear that salvation is the gracious, undeserved gift of God (Ephesians 2:5, 8) and is only available through faith in Jesus Christ (Acts 4:12).
How do we receive salvation? We are saved by faith. First, we must hear the gospel—the good news of Jesus’ death and resurrection (Ephesians 1:13). Then, we must believe—fully trust the Lord Jesus (Romans 1:16). This involves repentance, a changing of mind about sin and Christ (Acts 3:19), and calling on the name of the Lord (Romans 10:9-10, 13).
A definition of the Christian doctrine of salvation would be “The deliverance, by the grace of God, from eternal punishment for sin which is granted to those who accept by faith God’s conditions of repentance and faith in the Lord Jesus.” Salvation is available in Jesus alone (John 14:6; Acts 4:12) and is dependent on God alone for provision, assurance, and security.


An API token will give you access directly to our LoRa API which gives you the power to fetch and create resources according to your need programatically. This is especially practical when working on a larger scale or you want to integrate directly towards our backend.
On the right you will find your existing tokens and you can create new ones by clicking the "New API key" button.
You have no API keys yet. Why not create one? You can create new ones by clicking the "New API key" button.


Check if mixer is playing a sound
This webpage: http://www.pygame.org/docs/ref/mixer.html discusses mixer functions which are available
The mixer has a busy() function which returns true when a sound is currently being played
This code will use the busy() function to determine when to resend a sound


insert MySQL query results Select a person: Peter Griffin Lois Griffin Glenn Quagmire Joseph Swanson Person info will be listed here.


Copyright © 2009 Michael Truog
Version: 0.0.7 Apr 10 2010 21:58:01 ------------------------------------------------------------------------
Authors: Michael Truog (mjtruog [at] gmail (dot) com).
| open/0 |
Parse the Cloudi configuration file.The configuration file contains the following terms:The cookie to use for distributed communication:
The JSON RPC server settings:
The logging settings for all nodes:
|
| open/1 | |
| parse_data/1 |
Parse a string containing the configuration for a single data module, e.g.:"{\"cloud_data_pgsql\", [Option1, Option2, ...]}" |
| parse_job/1 |
Parse a string containing the configuration for a single job, e.g.:"{\"cloud_job_tests\", [Argument1, Argument2, ...], all, threads}" |
| parse_machine/2 |
Parse a string containing the configuration for a single machine (node), e.g.:"{\"cloud@machine\", [{3501, 3508}], 1, 4}" |
| save/1 |
Save the Cloudi configuration file.. |
| save/2 |
Save the Cloudi configuration file at a specific path.. |
open() -> any()
{cookie, "cookie value"}
{json_rpc, Port}
{logging, "path/to/log/file", LogLevel}
LogLevel is either one of the atoms:
undefined, critical, error, warning, info, debug
or LogLevel is an integer:
0, 1, 2, 3, 4, 5
{jobs, [{"cloud_job_uniquename.tag", [Argument1, Argument2, ...], Tasks, UseThreads}]}
The "cloud_job_uniquename" string is both the name of a C dynamic library and an Erlang module (that is locally registered) that coordinates work for the C code. "cloud_job_uniquename.tag" is called the work title and defines the type of work in other parts of Cloudi. The job prefix of "cloud_job_" is used as a namespace for the Erlang module and the "uniquename" describes the work. The ".tag" may be ommitted but must be unique if the same "uniquename" is instanced more than once in the same cloud. The ".tag" allows separate instances of the work, possibly with different Arguments. The Arguments are provided to the Erlang module's start_link function. The Tasks can be either the atom 'all' to allocate all machine resources to the work, or it can be an integer. The UseThreads can be either the atoms 'no_threads" or 'threads', or it can be an integer which determines how many threads per process.
{data, [{"cloud_data_uniquename", [{Parameter0, ParameterValue0}]}]}
The "cloud_data_uniquename" string is the name of an Erlang module (that is locally registered) that handles all data of this type. If multiple databases are used by this data module, they become a suffix like: "cloud_data_uniquename.databasename", for the data title. The data title is used in other parts of Cloudi to describe the destination of data. The data module prefix of "cloud_data_" is used as a namespace for the Erlang module and the "uniquename" describes the data storage. All the parameters supplied to the data module are specific to the data module. The cloud_data_repository_sup module does expect 'database' as a parameter when creating data titles and starting the data modules but it is not required (so a data title could be the data module name if no database distinction is necessary).
{machines, [{"node1@hostname1", [{LowPort, HighPort}], Processes, Threads}]}
open(Path) -> any()
parse_data(L) -> any()
"{\"cloud_data_pgsql\", [Option1, Option2, ...]}"
parse_job(L) -> any()
"{\"cloud_job_tests\", [Argument1, Argument2, ...], all, threads}"
parse_machine(L, LongNames) -> any()
"{\"cloud@machine\", [{3501, 3508}], 1, 4}"
save(Config) -> any()
save(Path, Config) -> any()
Generated by EDoc, Apr 10 2010, 21:58:01.


A startup community for industry 4.0 skill up
Our place is, where mistakes are made as stepping stone to possibilities, innovate and learn with understanding.
We are currently working on interdisciplinary projects which includes computer science, mechanical, chemical, electrical & electronics.
New perceptions, outside the box methods, knowledge sharing sessions, group learning and online sessions, personality development.
Innovation is about learning, experimenting, and quickly applying what works to create possibilities through the intelligent use of cutting edge technologies. The critical success factor is how what is learned is then scaled to deliver business impact.
By shifting our perspective, we can achieve a greater sense of purpose without changing what we’re doing.
The rise of new digital industrial technology, known as Industry 4.0, is a transformation that makes it possible to gather and analyze data across machines, enabling faster, more flexible, and more efficient processes to produce higher-quality goods at reduced costs. This manufacturing revolution will increase productivity, shift economics, foster industrial growth, and modify the profile of the workforce—ultimately changing the competitiveness of companies and regions.
What if existing manufacturing and large technological innovations came together to create the next big manufacturing reinvention? Bingo. This is the fourth manufacturing revolution, and it’s happening right now.


Cristian's
Game Of Nim
How To Play:
1. Pile of objects will be chosen.
2. Only remove 1-3 objects per move
3. Last player to make a move loses!
Goodluck!
Click To Start!


What a responsive site is, and why responsiveness is important
The responsive site is the site adapts specific styles on different devices,the site still looks good.
Nowadays mobile devices are popular in people's daily life, people grab infomation by phones,tablets. It is important the websites where people go for infomation are responsive,easy to read and important information highlighted.Otherwise people may not visit your site again if they can't get what they need, or dont enjoy visiting your site.
What mobile first design is, and why it's important
Mobile first design is,we design the website starting from the concept of mobile,design how the webpage looks like on the mobile device.
The reason why mobile first is so important is there are about 1.2 billion mobile web users worldwide. Also the sales of mobile devices are increasing 85% over the board, there are still more and more new mobile devices coming up each year. Mobile devices are the main source for daily life including web browsing. Because of those, we need to focus on the main stream to offer our visitors most valuable information they need, and offer the best user experience.
What frameworks are, and their pros and cons
Framework,from the word we know it is a structure we could build stuff on.It is pre-defined sets of style or functions the framework developers did for us.They may spent hours and lines of codes to fomulate it, then other people can use straight away and get the same result in a minute. Framework makes users to get the job done easier and faster.We just need to follow the rule the framework defined, then we will be good to go.
PROS
- Efficient
- Security
- Cost free
- Support
- Limitation of learning the language
- Code is public
What a wireframe is and why we use it
Wireframes are simple black and white layouts of the website.Defines the size and features. It is like a blue print of a house. where we can easily see the structural placement.
There are reasons I saw oneline I am quite agree with,Wireframes alow:
- Test and refine navigation
- See how content lays out on the page
- Study and rapidly refine the user interface design of web forms and interactive elements
- Evaluate overall effectiveness of the page layout against usability best practices
- Determine web development/programming requirements
I am quite happy with the mobile phone's layout, and there isnt any difficulty to implement the wireframe.
The desktop pages looks not that good,too much emputy spaces.I don't have many content to display.


ResponseStatusCode
public enum ResponseStatusCode: Int
HTTP status codes
Discussion: Descriptions taken from https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
-
Standard response for successful HTTP requests.
Declaration
Swift
case success = 200
-
The request has been fulfilled, resulting in the creation of a new resource.
Declaration
Swift
case created = 201
-
The request has been accepted for processing, but the processing has not been completed.
Declaration
Swift
case accepted = 202
-
The server is a transforming proxy (e.g. a Web accelerator) that received a 200 OK from its origin, but is returning a modified version of the origin’s response.
Declaration
Swift
case nonAuthoritativeInformation = 203
-
The server successfully processed the request and is not returning any content.
Declaration
Swift
case noContent = 204
-
The server successfully processed the request, but is not returning any content.
Declaration
Swift
case resetContent = 205
-
The server cannot or will not process the request due to an apparent client error.
Declaration
Swift
case badRequest = 400
-
Similar to 403 Forbidden, but specifically for use when authentication is required and has failed or has not yet been provided.
Declaration
Swift
case unauthorized = 401
-
The request was valid, but the server is refusing action.
Declaration
Swift
case forbidden = 403
-
The requested resource could not be found but may be available in the future.
Declaration
Swift
case notFound = 404
-
A request method is not supported for the requested resource.
Declaration
Swift
case methodNotAllowed = 405
-
The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request.
Declaration
Swift
case notAcceptable = 406
-
The server timed out waiting for the request.
Declaration
Swift
case requestTimeout = 408
-
Indicates that the request could not be processed because of conflict in the request.
Declaration
Swift
case conflict = 409
-
Indicates that the resource requested is no longer available and will not be available again.
Declaration
Swift
case gone = 410
-
The request did not specify the length of its content, which is required by the requested resource.
Declaration
Swift
case lengthRequired = 411
-
The server does not meet one of the preconditions that the requester put on the request.
Declaration
Swift
case preconditionFailed = 412
-
The request is larger than the server is willing or able to process.
Declaration
Swift
case payloadTooLarge = 413
-
The URI provided was too long for the server to process.
Declaration
Swift
case URITooLong = 414
-
The request entity has a media type which the server or resource does not support.
Declaration
Swift
case unsupportedMediaType = 415
-
The client has asked for a portion of the file (byte serving), but the server cannot supply that portion.
Declaration
Swift
case rangeNotSatisfiable = 416
-
The server cannot meet the requirements of the Expect request-header field.
Declaration
Swift
case expectationFailed = 417
-
This code was defined in 1998 as one of the traditional IETF April Fools’ jokes.
Declaration
Swift
case IAMATeapot = 418
-
The request was directed at a server that is not able to produce a response.
Declaration
Swift
case misdirectedRequest = 421
-
The request was well-formed but was unable to be followed due to semantic errors.
Declaration
Swift
case unprocessableEntity = 422
-
The resource that is being accessed is locked.
Declaration
Swift
case locked = 423
-
The request failed due to failure of a previous request.
Declaration
Swift
case failedDependency = 424
-
The client should switch to a different protocol such as TLS/1.0, given in the Upgrade header field.
Declaration
Swift
case upgradeRequired = 426
-
The origin server requires the request to be conditional.
Declaration
Swift
case preconditionRequired = 428
-
The user has sent too many requests in a given amount of time.
Declaration
Swift
case tooManyRequests = 429
-
The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large.
Declaration
Swift
case requestHeaderFieldsTooLarge = 431
-
A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource.
Declaration
Swift
case unavailableForLegalReasons = 451
-
A generic error message, given when an unexpected condition was encountered and no more specific message is suitable.
Declaration
Swift
case internalServerError = 500
-
The server either does not recognize the request method, or it lacks the ability to fulfill the request.
Declaration
Swift
case notImplemented = 501
-
The server was acting as a gateway or proxy and received an invalid response from the upstream server.
Declaration
Swift
case badGateway = 502
-
The server is currently unavailable (because it is overloaded or down for maintenance).
Declaration
Swift
case serviceUnavailable = 503
-
The server was acting as a gateway or proxy and did not receive a timely response from the upstream server.
Declaration
Swift
case gatewayTimeout = 504
-
The server does not support the HTTP protocol version used in the request.
Declaration
Swift
case HTTPVersionNotSupported = 505
-
Transparent content negotiation for the request results in a circular reference.
Declaration
Swift
case variantAlsoNegotiates = 506
-
The server is unable to store the representation needed to complete the request.
Declaration
Swift
case insufficientStorage = 507
-
The server detected an infinite loop while processing the request.
Declaration
Swift
case loopDetected = 508
-
Further extensions to the request are required for the server to fulfil it.
Declaration
Swift
case notExtended = 509
-
The client needs to authenticate to gain network access.
Declaration
Swift
case networkAuthenticationRequired = 511


Welcome to Ghost
Welcome, it's great to have you here. We know that first impressions are important, so we've populated your new site with some initial getting started posts that will help you get familiar with everything in no time.
A collection of 7 posts
Welcome, it's great to have you here. We know that first impressions are important, so we've populated your new site with some initial getting started posts that will help you get familiar with everything in no time.
Discover familiar formatting options in a functional toolbar and the ability to add dynamic content seamlessly.
The Ghost editor post settings menu has everything you need to fully optimise and distribute your content effectively.
There are a couple of things to do next while you're getting set up: making your site private and inviting your team.
Ghost has a flexible organisational taxonomy called tags and the ability to create custom site structures using dynamic routes.
Work with all your favourite apps and tools or create your own custom integrations using the Ghost API.


Something New
Societies at the IPO cover a wide range of inerests. Don't be afraid to get involved.
Societies at the IPO cover a wide range of inerests. Don't be afraid to get involved.
Clubs & Societies
Avaliable to you
List of all of the IPO’s clubs and societies:
- Badminton Club
- Chess Club
- Christians Together
- Football Club
- Golfing Society (POGS)
- Horticultural Society
- Staff Magazine Society
- Table Tennis Club
- The Work Out
- IPO Bookworms


Copeland propels Illinois State past Little Rock 75-70
NORMAL, Ill. (AP) - Zach Copeland sank three 3-pointers and scored 19 points as Illinois State held off Arkansas-Little Rock 75-70 on Sunday.
Dedric Boyd had 14 points off the bench, hitting 4 of 6 from beyond the arc, for the Redbirds. Illinois State is 2-0 for the first time in seven years. Rey Idowu and Jaycee Hillsman pitched in with 12 points apiece.
Markquis Nowell had 28 points for the Trojans (1-1), hitting 10 of 21 shots with four 3-pointers. Ruot Monyyong, Kris Bankston and Ben Coupet Jr. each scored 10. Coupet topped UALR with seven rebounds.
The two schools were playing for the first time in eight years.
For more AP college basketball coverage: https://apnews.com/Collegebasketball and http://twitter.com/AP_Top25
Elements of this story was generated by Automated Insights, http://www.automatedinsights.com/ap, using data from STATS LLC, https://www.stats.com
Sign up for Daily Newsletters
Copyright © 2019 The Washington Times, LLC.
Please read our comment policy before commenting.


|
DisabledTestRegionServerExit
|
|
DummyHRegion
|
|
FaultyFileSystem
|
|
FaultyInputStream
|
|
FaultyOutputStream
|
|
FlushThread
|
|
GetTillDoneOrException
|
|
KeyValueScanFixture
|
|
MockMetricsContext
|
|
MockedFailedDaughterCreation
|
|
NodeCreationListener
|
|
OOMERegionServer
|
|
PutThread
|
|
ReadOwnWritesTester
|
|
Scanner
|
|
TestColumnSeeking
|
|
TestCompaction
|
|
TestExplicitColumnTracker
|
|
TestFSErrorsExposed
|
|
TestGetClosestAtOrBefore
|
|
TestHRegion
|
|
TestHRegionInfo
|
|
TestKeyValueHeap
|
|
TestKeyValueScanFixture
|
|
TestKeyValueSkipListSet
|
|
TestMasterAddressManager
|
|
TestMemStore
|
|
TestMetrics
|
|
TestPriorityCompactionQueue
|
|
TestQueryMatcher
|
|
TestReadWriteConsistencyControl
|
|
TestRegionServer
|
|
TestResettingCounters
|
|
TestRpcMetrics
|
|
TestScanDeleteTracker
|
|
TestScanWildcardColumnTracker
|
|
TestScanner
|
|
TestSplitTransaction
|
|
TestStore
|
|
TestStoreFile
|
|
TestStoreScanner
|
|
TestWideScanner
|
|
Writer
|


6
1 Pay attention to what Yahweh will say:
Micah says to Yahweh, "Stand up in court and accuse the Israelites.
Allow the hills and mountains to hear what you will say.
2 The mountains must listen carefully to what Yahweh says about his people, so they can be witnesses.
Indeed, Yahweh has many things to accuse his people Israel about.
3 He says this: "My people, what have I done to cause trouble for you ?
What have I done to cause you to experience difficulties?
Answer me!
4 I did great things for your ancestors;
I brought them out of Egypt;
I rescued them from that land where they were slaves.
I sent Moses to lead them,
and his older brother Aaron and his older sister Miriam.
5 My people, think about when Balak, the king of Moab, requested Beor's son Balaam to curse your ancestors,
and think about what Balaam replied.
Think about how your ancestors crossed the Jordan River miraculously while they were traveling from Acacia to Gilgal.
Think about those things in order that you may know that I, Yahweh, do what is right."
6 The Israelite people ask, "What shall we bring to Yahweh who lives in heaven
when we come to him and bow down before him?
Should we bring calves that are a year old
that will be offerings that will be killed and completely burned on the altar?
7 Would Yahweh be pleased if we offered to him a thousand rams
and ten thousand streams of olive oil?
Should we offer our firstborn children to be sacrifices
to pay for the sins that we have committed?"
8 No, because he has shown each of us what is good to do;
he has shown us what he requires each of us to do:
he wants us to do what is just and to love to act mercifully toward others,
and he wants us to live humbly while we fellowship with him, our God.
9 God says this: "I am Yahweh, so if you are wise, you should honor me.

You use false measures when you buy and sell things.
Those are things that I hate.
11 You do not think that I should say nothing about people who use scales that do not weigh correctly,
and who use weights that are not accurate, do you?
12 The rich people among you always act violently to get money from poor people.
All of the people in Jerusalem are liars,
and they always deceive people.
13 Therefore, I have already begun to get rid of you,
to ruin you because of the sins that you have committed.
14 Soon you will eat food, but you will not have enough to satisfy you;
your stomachs will still feel as though they are empty.
You will try to save up money,
but you will be able to save nothing,
because I will send your enemies to take it from you in wars.
15 You will plant crops,
but you will not harvest anything.
You will press olives,
but others, not you, will use the olive oil.
You will trample on the grapes and make wine from the juice,
but others, not you, will drink the wine.
16 Those things will happen to you because you obey only the wicked laws of King Omri,
and you do the terrible things that King Ahab and his descendants commanded.


GENERATOR HOW TO: CLICK on the random button to Generate a Random Character(Must Type a Name and choose Encounter)
Use the Create a New Npc form to create a new NPC for an encounter CLICK on ENCOUNTER button to see all NPC's for an encounter CLICK on FULL INFO button to see an NPC's stat card.