lpcware

Tons of bugs in lpcopen_2_19_lpcxpresso

Discussion created by lpcware Employee on Jun 15, 2016
Latest reply on Jun 18, 2016 by lpcware
Content originally posted in LPCWare by zuzu on Tue Mar 08 15:42:00 MST 2016
With all do respect, what crap is this BSP?
We spent a lot of time finding and resolving your bugs but this is quite unacceptable!

We choose LPC811 which is a complete crap by definition (M0) like all your competitors too.
We had to change the project to more usable LPC824 to fit a medium bare metal code (12K) where the same code took 4K on Microchip PIC24 and 3.2K on Atmel XMega.

But if we'd knew your BSP is written by amateurs, we drop this from the beginning, not after making our prototypes.

Almost any peripheral must be checked by hand.

typedef enum CHIP_SCT_EVENT_REG .... is incomplete

This is completely wrong people! You put a idiot student to copy-paste

//SCT_IOSEL_RISEIN0  = (0 << 6),/*!< SCT Rising edges on input 0 register */
//SCT_IOSEL_FALLIN0  = (1 << 6),/*!< SCT Falling edges on input 0 register */
//SCT_IOSEL_RISEIN1  = (2 << 6),/*!< SCT Rising edges on input 1 register */
//SCT_IOSEL_FALLIN1  = (3 << 6),/*!< SCT Falling edges on input 1 register */
//
//SCT_IOSEL_RISEIN2  = (4 << 6),/*!< SCT Rising edges on input 2 register */
//SCT_IOSEL_FALLIN2  = (5 << 6),/*!< SCT Falling edges on input 2 register */
//SCT_IOSEL_RISEIN3  = (6 << 6),/*!< SCT Rising edges on input 3 register */
//SCT_IOSEL_FALLIN3  = (7 << 6),/*!< SCT Falling edges on input 3 register */

should be (comments are wrong)

SCT_IOSEL_IN0 = (0 << 6), /*!< SCT Rising edges on input 0 register */
SCT_IOSEL_IN1 = (1 << 6), /*!< SCT Falling edges on input 0 register */
SCT_IOSEL_IN2 = (2 << 6), /*!< SCT Rising edges on input 1 register */
SCT_IOSEL_IN3 = (3 << 6), /*!< SCT Falling edges on input 1 register */

SCT_IOSEL_OUT0 = (0 << 6), /*!< SCT Rising edges on input 0 register */
SCT_IOSEL_OUT1 = (1 << 6), /*!< SCT Falling edges on input 0 register */
SCT_IOSEL_OUT2 = (2 << 6), /*!< SCT Rising edges on input 1 register */
SCT_IOSEL_OUT3 = (3 << 6), /*!< SCT Falling edges on input 1 register */
SCT_IOSEL_OUT4 = (4 << 6), /*!< SCT Rising edges on input 2 register */
SCT_IOSEL_OUT5 = (5 << 6), /*!< SCT Falling edges on input 2 register */

Many examples are completely wrong and not working. The IRQ vector is not even defined in project.
Do you compiled your examples even once ???

HOW CAN WE TRUST YOU ANYMORE ?!?

No offense, but in the world full of MCU's do you think this is ok?

Outcomes