Skip to content

Commit 5d9db9d

Browse files
Simon Frankcarlescufi
authored andcommitted
fb: cfb: cfb_shell command to set font kerning
Using `struct shell *shell` would be more consistent but triggers CI check on MISRA rule 5.7 "A Tag name shall be a unique identifier" Signed-off-by: Simon Frank <[email protected]>
1 parent b50838c commit 5d9db9d

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

subsys/fb/cfb_shell.c

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,33 @@ static int cmd_set_font(const struct shell *shell, size_t argc, char *argv[])
235235
return err;
236236
}
237237

238+
static int cmd_set_kerning(const struct shell *sh, size_t argc, char *argv[])
239+
{
240+
int err;
241+
char *ep = NULL;
242+
long kerning;
243+
244+
if (!dev) {
245+
shell_error(sh, HELP_INIT);
246+
return -ENODEV;
247+
}
248+
249+
errno = 0;
250+
kerning = strtol(argv[1], &ep, 10);
251+
if (errno || ep == argv[1]) {
252+
shell_error(sh, HELP_INIT);
253+
return -EINVAL;
254+
}
255+
256+
err = cfb_set_kerning(dev, kerning);
257+
if (err) {
258+
shell_error(sh, "Failed to set kerning err=%d", err);
259+
return err;
260+
}
261+
262+
return err;
263+
}
264+
238265
static int cmd_invert(const struct shell *shell, size_t argc, char *argv[])
239266
{
240267
int err;
@@ -468,6 +495,7 @@ SHELL_STATIC_SUBCMD_SET_CREATE(cfb_cmds,
468495
"<all, height, width, ppt, rows, cols>", NULL),
469496
SHELL_CMD_ARG(get_fonts, NULL, HELP_NONE, cmd_get_fonts, 1, 0),
470497
SHELL_CMD_ARG(set_font, NULL, "<idx>", cmd_set_font, 2, 0),
498+
SHELL_CMD_ARG(set_kerning, NULL, "<kerning>", cmd_set_kerning, 2, 0),
471499
SHELL_CMD_ARG(invert, NULL, HELP_NONE, cmd_invert, 1, 0),
472500
SHELL_CMD_ARG(print, NULL, HELP_PRINT, cmd_print, 4, 0),
473501
SHELL_CMD(scroll, &sub_cmd_scroll, "scroll a text in vertical or "

0 commit comments

Comments
 (0)