Guest User

Untitled

a guest
Jun 22nd, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.44 KB | None | 0 0
  1. #include <stdint.h>
  2. #include "sdkconfig.h"
  3. #include "mruby.h"
  4. #include "mruby/irep.h"
  5. #include "mruby/compile.h"
  6. #include "mruby/error.h"
  7. #include "mruby/string.h"
  8.  
  9. const uint8_t mrbcode[] = {
  10. 0x45,0x54,0x49,0x52,0x30,0x30,0x30,0x34,0x4f,0x5a,0x00,0x00,0x01,0x47,0x4d,0x41,
  11. 0x54,0x5a,0x30,0x30,0x30,0x30,0x49,0x52,0x45,0x50,0x00,0x00,0x01,0x0b,0x30,0x30,
  12. 0x30,0x30,0x00,0x00,0x01,0x03,0x00,0x03,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x1a,
  13. 0x06,0x00,0x80,0x01,0x3d,0x00,0x00,0x02,0xa0,0x00,0x80,0x01,0x11,0x01,0x80,0x01,
  14. 0x93,0x00,0x80,0x01,0x20,0xc0,0x80,0x01,0x01,0xc0,0x80,0x00,0x06,0x00,0x80,0x01,
  15. 0xbd,0x00,0x00,0x02,0x01,0x40,0x80,0x02,0x3e,0x40,0x01,0x02,0xa0,0x00,0x80,0x01,
  16. 0x11,0x01,0x80,0x01,0x93,0x00,0x80,0x01,0x20,0x00,0x81,0x01,0x83,0xf3,0x41,0x02,
  17. 0xb1,0x40,0x81,0x01,0x01,0xc0,0x00,0x01,0x06,0x00,0x80,0x01,0xbd,0x01,0x00,0x02,
  18. 0x01,0x80,0x80,0x02,0x3e,0x40,0x01,0x02,0x3d,0x02,0x80,0x02,0x3e,0x40,0x01,0x02,
  19. 0xa0,0x00,0x80,0x01,0x4a,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x00,0x00,0x1a,0x6d,
  20. 0x72,0x75,0x62,0x79,0x20,0x69,0x73,0x20,0x72,0x75,0x6e,0x6e,0x69,0x6e,0x67,0x20,
  21. 0x6f,0x6e,0x20,0x45,0x53,0x50,0x33,0x32,0x21,0x00,0x00,0x0d,0x53,0x44,0x4b,0x20,
  22. 0x56,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3a,0x20,0x00,0x00,0x00,0x00,0x00,0x0d,0x4d,
  23. 0x65,0x6d,0x6f,0x72,0x79,0x20,0x66,0x72,0x65,0x65,0x3a,0x20,0x00,0x00,0x01,0x4b,
  24. 0x00,0x00,0x00,0x06,0x00,0x04,0x70,0x75,0x74,0x73,0x00,0x00,0x06,0x53,0x79,0x73,
  25. 0x74,0x65,0x6d,0x00,0x00,0x05,0x45,0x53,0x50,0x33,0x32,0x00,0x00,0x0b,0x73,0x64,
  26. 0x6b,0x5f,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x00,0x00,0x10,0x61,0x76,0x61,0x69,
  27. 0x6c,0x61,0x62,0x6c,0x65,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x00,0x00,0x01,0x2f,
  28. 0x00,0x4c,0x56,0x41,0x52,0x00,0x00,0x00,0x1e,0x00,0x00,0x00,0x02,0x00,0x03,0x76,
  29. 0x65,0x72,0x00,0x03,0x6d,0x65,0x6d,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x02,0x45,
  30. 0x4e,0x44,0x00,0x00,0x00,0x00,0x08,
  31. };
  32.  
  33. void setup() {
  34. // put your setup code here, to run once:
  35.  
  36. }
  37.  
  38. void loop() {
  39. mrb_state *mrb = mrb_open();
  40. mrbc_context *context = mrbc_context_new(mrb);
  41. int ai = mrb_gc_arena_save(mrb);
  42. ESP_LOGI(TAG, "%s", "Loading binary...");
  43. mrb_load_irep_cxt(mrb, mrbcode, context);
  44. if (mrb->exc) {
  45. ESP_LOGE(TAG, "Exception occurred: %s", mrb_str_to_cstr(mrb, mrb_inspect(mrb, mrb_obj_value(mrb->exc))));
  46. mrb->exc = 0;
  47. } else {
  48. ESP_LOGI(TAG, "%s", "Success");
  49. }
  50. mrb_gc_arena_restore(mrb, ai);
  51. mrbc_context_free(mrb, context);
  52. mrb_close(mrb);
  53.  
  54. // This task should never end, even if the
  55. // script ends.
  56. while (1) {
  57. }
  58. }
Add Comment
Please, Sign In to add comment