Browse Source

Add function node.getcpufreq() (#2375)

dnc40085 6 years ago
parent
commit
dd02faef27
2 changed files with 29 additions and 0 deletions
  1. 8 0
      app/modules/node.c
  2. 21 0
      docs/en/modules/node.md

+ 8 - 0
app/modules/node.c

@@ -386,6 +386,13 @@ static int node_setcpufreq(lua_State* L)
   return 1;
 }
 
+// Lua: freq = node.getcpufreq()
+static int node_getcpufreq(lua_State* L)
+{
+  lua_pushinteger(L, system_get_cpu_freq());
+  return 1;
+}
+
 // Lua: code, reason [, exccause, epc1, epc2, epc3, excvaddr, depc ] = bootreason()
 static int node_bootreason (lua_State *L)
 {
@@ -622,6 +629,7 @@ static const LUA_REG_TYPE node_map[] =
   { LSTRKEY( "CPU80MHZ" ), LNUMVAL( CPU80MHZ ) },
   { LSTRKEY( "CPU160MHZ" ), LNUMVAL( CPU160MHZ ) },
   { LSTRKEY( "setcpufreq" ), LFUNCVAL( node_setcpufreq) },
+  { LSTRKEY( "getcpufreq" ), LFUNCVAL( node_getcpufreq) },
   { LSTRKEY( "bootreason" ), LFUNCVAL( node_bootreason) },
   { LSTRKEY( "restore" ), LFUNCVAL( node_restore) },
   { LSTRKEY( "random" ), LFUNCVAL( node_random) },

+ 21 - 0
docs/en/modules/node.md

@@ -185,6 +185,27 @@ none
 #### Returns
 flash size in bytes (integer)
 
+## node.getcpufreq()
+
+Get the current CPU Frequency.
+
+#### Syntax
+`node.getcpufreq()`
+
+#### Parameters
+none
+
+#### Returns
+Current CPU frequency (number)
+
+#### Example
+```lua
+do
+  local cpuFreq = node.getcpufreq()
+  print("The current CPU frequency is " .. cpuFreq .. " MHz")
+end
+```
+
 ## node.heap()
 
 Returns the current available heap size in bytes. Note that due to fragmentation, actual allocations of this size may not be possible.