Index: proj/libs/graph/src/font.c
===================================================================
--- proj/libs/graph/src/font.c	(revision 334)
+++ proj/libs/graph/src/font.c	(revision 335)
@@ -188,7 +188,7 @@
         uint16_t W = 0, H = 0; {
             for(size_t i = 0; i < len; ++i){
                 const glyph_t *g = p->fnt->glyphs[(size_t)p->txt[i]];
-                if(g != NULL){ W += g->w; H = umax16(H, g->h); }
+                if(g != NULL){ W += g->w; H = max_u16(H, g->h); }
             }
         }
         uint8_t *alp_buf = malloc(W*H);
Index: proj/libs/graph/src/graph.c
===================================================================
--- proj/libs/graph/src/graph.c	(revision 334)
+++ proj/libs/graph/src/graph.c	(revision 335)
@@ -333,7 +333,7 @@
 void (sprite_set_pos)   (sprite_t *p, int16_t x , int16_t y ){ p->x = x; p->y = y; }
 void (sprite_set_angle) (sprite_t *p, double angle          ){ p->theta = angle; p->c = fm_cos(p->theta); p->s = fm_sin(p->theta); }
 void (sprite_set_scale) (sprite_t *p, double scale          ){
-    if(deq(p->scale, scale)) return;
+    if(eq_d(p->scale, scale)) return;
     p->scale = scale;
 
     p->su0 = (int16_t)(p->bsp->u0*p->scale);
@@ -385,13 +385,13 @@
         sprite_sbuf2src(p, 0          , 0          , &x, &y);
         xmin = x; xmax = x; ymin = y; ymax = y;
         sprite_sbuf2src(p, (int16_t)sw, 0          , &x, &y);
-        xmin = min16(x, xmin); xmax = max16(x, xmax); ymin = min16(y, ymin); ymax = max16(y, ymax);
+        xmin = min_16(x, xmin); xmax = max_16(x, xmax); ymin = min_16(y, ymin); ymax = max_16(y, ymax);
         sprite_sbuf2src(p, 0          , (int16_t)sh, &x, &y);
-        xmin = min16(x, xmin); xmax = max16(x, xmax); ymin = min16(y, ymin); ymax = max16(y, ymax);
+        xmin = min_16(x, xmin); xmax = max_16(x, xmax); ymin = min_16(y, ymin); ymax = max_16(y, ymax);
         sprite_sbuf2src(p, (int16_t)sw, (int16_t)sh, &x, &y);
-        xmin = min16(x, xmin); xmax = max16(x, xmax); ymin = min16(y, ymin); ymax = max16(y, ymax);
-        xmin = max16(xmin-2, 0); xmax = min16(xmax+2, (int16_t)graph_get_XRes());
-        ymin = max16(ymin-2, 0); ymax = min16(ymax+2, (int16_t)graph_get_YRes());
+        xmin = min_16(x, xmin); xmax = max_16(x, xmax); ymin = min_16(y, ymin); ymax = max_16(y, ymax);
+        xmin = max_16(xmin-2, 0); xmax = min_16(xmax+2, (int16_t)graph_get_XRes());
+        ymin = max_16(ymin-2, 0); ymax = min_16(ymax+2, (int16_t)graph_get_YRes());
     }
     const uint16_t bytes_pixel = 3/*graph_get_bytes_pixel()*/;
     for(int16_t u, v, y = ymin; y < ymax; ++y){
Index: proj/libs/graph/src/rectangle.c
===================================================================
--- proj/libs/graph/src/rectangle.c	(revision 334)
+++ proj/libs/graph/src/rectangle.c	(revision 335)
@@ -51,13 +51,13 @@
 
 static void (rectangle_draw_hline)(int16_t x, int16_t y, int16_t l, uint32_t color){
     if(l < 0){ rectangle_draw_hline(x+l, y, -l, color); return; }
-    for(int16_t x_ = max16(0,x); x_ < min16(x+l,(int16_t)graph_get_XRes()); ++x_){
+    for(int16_t x_ = max_16(0,x); x_ < min_16(x+l,(int16_t)graph_get_XRes()); ++x_){
         graph_set_pixel((uint16_t)x_, (uint16_t)y, color);
     }
 }
 static void (rectangle_draw_vline)(int16_t x, int16_t y, int16_t l, uint32_t color){
     if(l < 0){ rectangle_draw_vline(x, y+l, -l, color); return; }
-    for(int16_t y_ = max16(0,y); y_ < min16(y+l,(int16_t)graph_get_YRes()); ++y_){
+    for(int16_t y_ = max_16(0,y); y_ < min_16(y+l,(int16_t)graph_get_YRes()); ++y_){
         graph_set_pixel((uint16_t)x, (uint16_t)y_, color);
     }
 }
@@ -65,7 +65,7 @@
 void (rectangle_draw)(const rectangle_t *p){
     /// fill
     if(p->fill_alpha > ALPHA_THRESHOLD)
-        for(int16_t y = max16(p->y,0); y < min16(p->y+p->h, (int16_t)graph_get_YRes()); ++y)
+        for(int16_t y = max_16(p->y,0); y < min_16(p->y+p->h, (int16_t)graph_get_YRes()); ++y)
             rectangle_draw_hline(p->x, y, (int16_t)p->w, p->fill_color);
     /// border
     int16_t step = (p->outline_width > 0 ? 1 : -1);
Index: proj/libs/uart/include/uart.h
===================================================================
--- proj/libs/uart/include/uart.h	(revision 334)
+++ proj/libs/uart/include/uart.h	(revision 335)
@@ -8,13 +8,22 @@
  * @{
  */
 
+/// @brief COM1 base address
 #define COM1_ADDR           0x3F8
+/// @brief COM2 base address
 #define COM2_ADDR           0x2F8
+/// @brief COM1 IRQ line
 #define COM1_IRQ            4
+/// @brief COM2 IRQ line
 #define COM2_IRQ            3
+/// @brief COM1 Vector (???)
 #define COM1_VECTOR         0x0C
+/// @brief COM2 Vector (???)
 #define COM2_VECTOR         0x0B
 
+/**
+ * @brief Possible parity schemes for UART.
+ */
 typedef enum {
     uart_parity_none = 0x0,
     uart_parity_odd  = 0x1,
@@ -23,21 +32,39 @@
     uart_parity_par0 = 0x7
 } uart_parity;
 
+/**
+ * @brief UART configuration
+ */
 typedef struct {
+    /// @brief  Base address of the serial port this configuration was read from
     int     base_addr               ;
+    /// @brief  LCR (Line Control Register)
     uint8_t lcr                     ;
+    /// @brief DLL (Divisor Latch Least significant byte)
     uint8_t dll                     ;
+    /// @brief DLL (Divisor Latch Most significant byte)
     uint8_t dlm                     ;
+    /// @brief Number of bits per char
     uint8_t bits_per_char           ;
+    /// @brief Number of stop bits
     uint8_t stop_bits               ;
+    /// @brief Parity scheme
     uart_parity parity              ;
+    /// @brief Break control (???)
     uint8_t break_control         :1;
+    /// @brief Divisor Latch Access Bit (1 if DLL, DLM can be accessed)
     uint8_t dlab                  :1;
+    ///  @brief Divisor latch
     uint16_t divisor_latch          ;
+    /// @brief IER (Interrupt Enable Register)
     uint8_t ier                     ;
+    /// @brief  Receiver data interrupt enabled if 1
     uint8_t received_data_int     :1;
+    /// @brief  Transmitter empty interrupt enabled if 1
     uint8_t transmitter_empty_int :1;
+    /// @brief  Receiver line status register (LSR) change interrupt enabled if 1
     uint8_t receiver_line_stat_int:1;
+    /// @brief  Modem status interrupt enabled if 1
     uint8_t modem_stat_int        :1;
 } uart_config;
 
Index: proj/libs/utils/include/utils.h
===================================================================
--- proj/libs/utils/include/utils.h	(revision 334)
+++ proj/libs/utils/include/utils.h	(revision 335)
@@ -51,10 +51,13 @@
  * @param b     Second value
  * @return  The minimum of the two values
  */
-int16_t min16(int16_t a, int16_t b);
-uint16_t umin16(uint16_t a, uint16_t b);
-int32_t min32(int32_t a, int32_t b);
-double  dmin (double  a, double  b);
+int16_t min_16(int16_t a, int16_t b);
+/// @overload
+uint16_t min_u16(uint16_t a, uint16_t b);
+/// @overload
+int32_t min_32(int32_t a, int32_t b);
+/// @overload
+double  min_d(double  a, double  b);
 
 /**
  * @brief Gets the maximum value out of two values.
@@ -62,10 +65,13 @@
  * @param b     Second value
  * @return  The maximum of the two values
  */
-int16_t max16(int16_t a, int16_t b);
-uint16_t umax16(uint16_t a, uint16_t b);
-int32_t max32(int32_t a, int32_t b);
-double  dmax (double  a, double  b);
+int16_t max_16(int16_t a, int16_t b);
+/// @overload
+uint16_t max_u16(uint16_t a, uint16_t b);
+/// @overload
+int32_t max_32(int32_t a, int32_t b);
+/// @overload
+double  max_d(double  a, double  b);
 
 /**
  * @brief Get the absolute value of a double.
@@ -72,7 +78,7 @@
  * @param   a   Argument
  * @return      Absolute value of a
  */
-double dabs(double a);
+double abs_d(double a);
 
 /**
  * @brief Compare if two doubles are approximately equal (within 1e-10).
@@ -80,7 +86,7 @@
  * @param   b   Second value
  * @return      true if the two numbers are approximately equal, false otherwise
  */
-int deq(double a, double b);
+int eq_d(double a, double b);
 
 /**
  * @}
Index: proj/libs/utils/src/utils.c
===================================================================
--- proj/libs/utils/src/utils.c	(revision 334)
+++ proj/libs/utils/src/utils.c	(revision 335)
@@ -31,16 +31,16 @@
     return SUCCESS;
 }
 
-int16_t min16(int16_t a, int16_t b){ return (b < a ? b : a); }
-uint16_t umin16(uint16_t a, uint16_t b){ return (b < a ? b : a); }
+int16_t min_16(int16_t a, int16_t b){ return (b < a ? b : a); }
+uint16_t umin_16(uint16_t a, uint16_t b){ return (b < a ? b : a); }
 int32_t min32(int32_t a, int32_t b){ return (b < a ? b : a); }
 double  dmin (double  a, double  b){ return (b < a ? b : a); }
 
-int16_t max16(int16_t a, int16_t b){ return (a < b ? b : a); }
-uint16_t umax16(uint16_t a, uint16_t b){ return (a < b ? b : a); }
+int16_t max_16(int16_t a, int16_t b){ return (a < b ? b : a); }
+uint16_t max_u16(uint16_t a, uint16_t b){ return (a < b ? b : a); }
 int32_t max32(int32_t a, int32_t b){ return (a < b ? b : a); }
-double  dmax (double  a, double  b){ return (a < b ? b : a); }
+double  max_d (double  a, double  b){ return (a < b ? b : a); }
 
-double dabs(double a)          { return (a < 0 ? -a: a); }
+double abs_d(double a)          { return (a < 0 ? -a: a); }
 
-int deq(double a, double b){ return (dabs(a-b) < 1e-10 ? true : false); }
+int eq_d(double a, double b){ return (abs_d(a-b) < 1e-10 ? true : false); }
Index: proj/src/ent.c
===================================================================
--- proj/src/ent.c	(revision 334)
+++ proj/src/ent.c	(revision 335)
@@ -298,7 +298,7 @@
     else return false;
 }
 int (map_collides_gunner)(const map_t *p, const gunner_t *shooter) {
-    double radius = dmax(sprite_get_w(shooter->dude), sprite_get_h(shooter->dude))/2.0;
+    double radius = max_d(sprite_get_w(shooter->dude), sprite_get_h(shooter->dude))/2.0;
     return map_collides_gunner_pos(p, gunner_get_x(shooter), gunner_get_y(shooter), radius);
 }
 int (map_make_dijkstra)(map_t *p, double x_, double y_){
@@ -347,7 +347,7 @@
 }
 
 int (map_collides_bullet)(const map_t *p, const bullet_t *bull){
-    double radius = dmax(sprite_get_w(bull->b), sprite_get_h(bull->b))/2.0;
+    double radius = max_d(sprite_get_w(bull->b), sprite_get_h(bull->b))/2.0;
     double bullet_x = bullet_get_x(bull);
     double bullet_y = bullet_get_y(bull);
     for (double x = -radius; x < radius; x += 1){
@@ -361,11 +361,11 @@
 int (gunner_collides_bullet)(const gunner_t *shooter, const bullet_t *bull){
     if(bull->shooter == shooter) return false;
 
-    double shooter_radius = dmax(sprite_get_w(shooter->dude), sprite_get_h(shooter->dude))/2.0;
+    double shooter_radius = max_d(sprite_get_w(shooter->dude), sprite_get_h(shooter->dude))/2.0;
     double shooter_x = gunner_get_x(shooter);
     double shooter_y = gunner_get_y(shooter);
 
-    double bullet_radius = dmax(sprite_get_w(bull->b), sprite_get_h(bull->b))/2.0;
+    double bullet_radius = max_d(sprite_get_w(bull->b), sprite_get_h(bull->b))/2.0;
     double bullet_x = bullet_get_x(bull);
     double bullet_y = bullet_get_y(bull);
 
@@ -389,8 +389,8 @@
 
 int (gunner_collides_gunner)(const gunner_t *shooter1, const gunner_t *shooter2) {
     if (shooter1 == shooter2) return false;
-    double shooter1_radius = dmax(sprite_get_w(shooter1->dude), sprite_get_h(shooter1->dude))/2.0;
-    double shooter2_radius = dmax(sprite_get_w(shooter2->dude), sprite_get_h(shooter2->dude))/2.0;
+    double shooter1_radius = max_d(sprite_get_w(shooter1->dude), sprite_get_h(shooter1->dude))/2.0;
+    double shooter2_radius = max_d(sprite_get_w(shooter2->dude), sprite_get_h(shooter2->dude))/2.0;
     double distance = distance_gunners(shooter1, shooter2);
     return distance <= shooter1_radius+shooter2_radius;
 }
Index: proj/src/proj_func.c
===================================================================
--- proj/src/proj_func.c	(revision 334)
+++ proj/src/proj_func.c	(revision 335)
@@ -297,11 +297,11 @@
 static int16_t mouse_x = 0, mouse_y = 0;
 
 void (update_mouse)(struct packet *p) {
-    mouse_x = max16(0, mouse_x + p->delta_x);
-    mouse_x = min16(mouse_x, (int16_t)graph_get_XRes() - 1);
+    mouse_x = max_16(0, mouse_x + p->delta_x);
+    mouse_x = min_16(mouse_x, (int16_t)graph_get_XRes() - 1);
 
-    mouse_y = max16(0, mouse_y - p->delta_y);
-    mouse_y = min16(mouse_y, (int16_t)graph_get_YRes() - 1);
+    mouse_y = max_16(0, mouse_y - p->delta_y);
+    mouse_y = min_16(mouse_y, (int16_t)graph_get_YRes() - 1);
 
     key_presses.lb_pressed = p->lb;
 }
