Hi toly, and welcome.
Let me start by telling that if you need information, you need to be exact in your questions.
Ask the right questions, and check for errors.
How else will anybody be able to help you if your information is incorrect.
Your display isn't a bono 2402-01.
It is a bona fide 2402-01 (click !).
It seems to be a HD44780 compatible display.
So your attempts to control it using uint8_t aren't helping you either, makes it needlessly complicated (i don't know if it can be controlled that way at all).
The row of blocks you see is an indication that the display isn't initialised correctly.
You should be able to use file - examples - LiquidCrystal - HelloWorld in IDE.
That will take care of the initialisation.
But you need to use lcd.begin(24, 2); so the library knows you have 24 instead of 16 characters per line.
And you need to tell the library how you wired the display, the sketch tells you all about it.