I had a project working using nRFConnect, with VSCode. I then made the mistake of removing a peripheral I don't need (this is a custom board using the nRF52840) Removed the UART0 and a button and builds now fail with errors like:
devicetree error: 'gpios' is marked as required in 'properties:' in C:/ncs/v2.4.2/zephyr/dts/bindings\input\gpio-keys.yaml, but does not appear in <Node /buttons/button_2 in 'C:/ncs/v2.4.2/zephyr/misc/empty_file.c'>
I have no idea what this means - I'm a programmer, and it seems like most Nordic/zephyr development is just creating config files all over the place and having the code magically auto-generated and hidden away. This is in stark contrast with every other architecture I use where I write C/C++ code and compile it normally. I find myself having to rely on git to roll back changes that cause the build system to break for unknown reasons with cryptic errors related to macros inside macros relying upon parsing all kinds of config files. I prefer working with C/C++ and debugger to this fragile auto-generated nightmare :)
I've tried adding the button back, but the build still crashes out with the same error. So once again I have to roll back the project. Is it possible to develop for the nRF52 series without Zephyr and auto-generated code?