{"action":"created","comment":{"url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/pulls/comments/71841789","id":71841789,"diff_hunk":"@@ -0,0 +1,263 @@\n+/*\n+ * spiffs_config.h\n+ *\n+ *  Created on: Jul 3, 2013\n+ *      Author: petera\n+ */\n+\n+#ifndef SPIFFS_CONFIG_H_\n+#define SPIFFS_CONFIG_H_\n+\n+// ----------- 8< ------------\n+#include <stdio.h>\n+#include <stdlib.h>\n+#include <string.h>\n+#include <stddef.h>\n+#include <stdint.h>\n+#include <ctype.h>\n+// #include <FreeRTOS.h>    // for vPortEnterCritical/vPortExitCritical\n+// ----------- >8 ------------\n+\n+typedef signed int s32_t;\n+typedef unsigned int u32_t;\n+typedef signed short s16_t;\n+typedef unsigned short u16_t;\n+typedef signed char s8_t;\n+typedef unsigned char u8_t;\n+\n+// compile time switches\n+\n+// Set generic spiffs debug output call.\n+#ifndef SPIFFS_DBG\n+#define SPIFFS_DBG(...) //printf(__VA_ARGS__)\n+#endif\n+// Set spiffs debug output call for garbage collecting.\n+#ifndef SPIFFS_GC_DBG\n+#define SPIFFS_GC_DBG(...) //printf(__VA_ARGS__)\n+#endif\n+// Set spiffs debug output call for caching.\n+#ifndef SPIFFS_CACHE_DBG\n+#define SPIFFS_CACHE_DBG(...) //printf(__VA_ARGS__)\n+#endif\n+// Set spiffs debug output call for system consistency checks.\n+#ifndef SPIFFS_CHECK_DBG\n+#define SPIFFS_CHECK_DBG(...) //printf(__VA_ARGS__)\n+#endif\n+\n+// Enable/disable API functions to determine exact number of bytes\n+// for filedescriptor and cache buffers. Once decided for a configuration,\n+// this can be disabled to reduce flash.\n+#ifndef SPIFFS_BUFFER_HELP\n+#define SPIFFS_BUFFER_HELP              1\n+#endif\n+\n+// Enables/disable memory read caching of nucleus file system operations.\n+// If enabled, memory area must be provided for cache in SPIFFS_mount.\n+#ifndef  SPIFFS_CACHE\n+#define SPIFFS_CACHE                    1\n+#endif\n+#if SPIFFS_CACHE\n+// Enables memory write caching for file descriptors in hydrogen\n+#ifndef  SPIFFS_CACHE_WR\n+#define SPIFFS_CACHE_WR                 1\n+#endif\n+\n+// Enable/disable statistics on caching. Debug/test purpose only.\n+#ifndef  SPIFFS_CACHE_STATS\n+#define SPIFFS_CACHE_STATS              0\n+#endif\n+#endif\n+\n+// Always check header of each accessed page to ensure consistent state.\n+// If enabled it will increase number of reads, will increase flash.\n+#ifndef SPIFFS_PAGE_CHECK\n+#define SPIFFS_PAGE_CHECK               1\n+#endif\n+\n+// Define maximum number of gc runs to perform to reach desired free pages.\n+#ifndef SPIFFS_GC_MAX_RUNS\n+#define SPIFFS_GC_MAX_RUNS              3\n+#endif\n+\n+// Enable/disable statistics on gc. Debug/test purpose only.\n+#ifndef SPIFFS_GC_STATS\n+#define SPIFFS_GC_STATS                 0\n+#endif\n+\n+// Garbage collecting examines all pages in a block which and sums up\n+// to a block score. Deleted pages normally gives positive score and\n+// used pages normally gives a negative score (as these must be moved).\n+// To have a fair wear-leveling, the erase age is also included in score,\n+// whose factor normally is the most positive.\n+// The larger the score, the more likely it is that the block will\n+// picked for garbage collection.\n+\n+// Garbage collecting heuristics - weight used for deleted pages.\n+#ifndef SPIFFS_GC_HEUR_W_DELET\n+#define SPIFFS_GC_HEUR_W_DELET          (5)\n+#endif\n+// Garbage collecting heuristics - weight used for used pages.\n+#ifndef SPIFFS_GC_HEUR_W_USED\n+#define SPIFFS_GC_HEUR_W_USED           (-1)\n+#endif\n+// Garbage collecting heuristics - weight used for time between\n+// last erased and erase of this block.\n+#ifndef SPIFFS_GC_HEUR_W_ERASE_AGE\n+#define SPIFFS_GC_HEUR_W_ERASE_AGE      (50)\n+#endif\n+\n+// Object name maximum length. Note that this length include the\n+// zero-termination character, meaning maximum string of characters\n+// can at most be SPIFFS_OBJ_NAME_LEN - 1.\n+#ifndef SPIFFS_OBJ_NAME_LEN\n+#define SPIFFS_OBJ_NAME_LEN             (32)\n+#endif\n+\n+// Size of buffer allocated on stack used when copying data.\n+// Lower value generates more read/writes. No meaning having it bigger\n+// than logical page size.\n+#ifndef SPIFFS_COPY_BUFFER_STACK\n+#define SPIFFS_COPY_BUFFER_STACK        (64)\n+#endif\n+\n+// Enable this to have an identifiable spiffs filesystem. This will look for\n+// a magic in all sectors to determine if this is a valid spiffs system or\n+// not on mount point. If not, SPIFFS_format must be called prior to mounting\n+// again.\n+#ifndef SPIFFS_USE_MAGIC\n+#define SPIFFS_USE_MAGIC                (0)\n+#endif\n+\n+#if SPIFFS_USE_MAGIC\n+// Only valid when SPIFFS_USE_MAGIC is enabled. If SPIFFS_USE_MAGIC_LENGTH is\n+// enabled, the magic will also be dependent on the length of the filesystem.\n+// For example, a filesystem configured and formatted for 4 megabytes will not\n+// be accepted for mounting with a configuration defining the filesystem as 2\n+// megabytes.\n+#ifndef SPIFFS_USE_MAGIC_LENGTH\n+#define SPIFFS_USE_MAGIC_LENGTH         (0)","path":"extras/spiffs/spiffs_config.h","position":138,"original_position":138,"commit_id":"0ec47b5de9ec705d86cc6d2b210dd791fa6e01a2","original_commit_id":"0ec47b5de9ec705d86cc6d2b210dd791fa6e01a2","user":{"login":"pellepl","id":5098839,"avatar_url":"https://avatars.githubusercontent.com/u/5098839?v=3","gravatar_id":"","url":"https://api.github.com/users/pellepl","html_url":"https://github.com/pellepl","followers_url":"https://api.github.com/users/pellepl/followers","following_url":"https://api.github.com/users/pellepl/following{/other_user}","gists_url":"https://api.github.com/users/pellepl/gists{/gist_id}","starred_url":"https://api.github.com/users/pellepl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pellepl/subscriptions","organizations_url":"https://api.github.com/users/pellepl/orgs","repos_url":"https://api.github.com/users/pellepl/repos","events_url":"https://api.github.com/users/pellepl/events{/privacy}","received_events_url":"https://api.github.com/users/pellepl/received_events","type":"User","site_admin":false},"body":"... and enabling this also.","created_at":"2016-07-22T08:09:19Z","updated_at":"2016-07-22T08:09:19Z","html_url":"https://github.com/SuperHouse/esp-open-rtos/pull/163#discussion_r71841789","pull_request_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/pulls/163","_links":{"self":{"href":"https://api.github.com/repos/SuperHouse/esp-open-rtos/pulls/comments/71841789"},"html":{"href":"https://github.com/SuperHouse/esp-open-rtos/pull/163#discussion_r71841789"},"pull_request":{"href":"https://api.github.com/repos/SuperHouse/esp-open-rtos/pulls/163"}}},"pull_request":{"url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/pulls/163","id":77614972,"html_url":"https://github.com/SuperHouse/esp-open-rtos/pull/163","diff_url":"https://github.com/SuperHouse/esp-open-rtos/pull/163.diff","patch_url":"https://github.com/SuperHouse/esp-open-rtos/pull/163.patch","issue_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/issues/163","number":163,"state":"open","locked":false,"title":"File system support. SPIFFS integration.","user":{"login":"sheinz","id":2250775,"avatar_url":"https://avatars.githubusercontent.com/u/2250775?v=3","gravatar_id":"","url":"https://api.github.com/users/sheinz","html_url":"https://github.com/sheinz","followers_url":"https://api.github.com/users/sheinz/followers","following_url":"https://api.github.com/users/sheinz/following{/other_user}","gists_url":"https://api.github.com/users/sheinz/gists{/gist_id}","starred_url":"https://api.github.com/users/sheinz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sheinz/subscriptions","organizations_url":"https://api.github.com/users/sheinz/orgs","repos_url":"https://api.github.com/users/sheinz/repos","events_url":"https://api.github.com/users/sheinz/events{/privacy}","received_events_url":"https://api.github.com/users/sheinz/received_events","type":"User","site_admin":false},"body":"This PR includes:\r\n * **SPIFFS** as a submodule in `extras/spiffs`\r\n * SPIFFS configuration and flash read/write access in `extras/spiffs`\r\n * **mkspiffs** utility to create SPIFFS image for flashing\r\n * example in `examples/spiffs`\r\n * POSIX file system test **fs-test** as a submodule in `example/posix_fs`\r\n * file system test example in `example/posix_fs`\r\n * build-process integration for image creation and flashing\r\n\r\nPOSIX file operations support:\r\n * open/close\r\n * read/write\r\n * lseek\r\n * stat/fstat (only size field is available)\r\n\r\nFile system test includes two tests:\r\n * Load test. Performs various file system operations in random order and verifies data validity.\r\n * Speed test. Simple speed benchmark.\r\n\r\nThe main motivation for writing speed test was the need for some baseline for future SPI flash access optimization. Currently flash is accessed via SDK/bootrom functions which require buffers/addresses/size alignment. The wrapper functions handle unaligned access from SPIFFS but they introduce overhead.\r\nI intend to rewrite access to flash to eliminate unaligned access overhead or to make it as minimal as possible. Or prove that it is not possible :)\r\nI already reverse engineered flash write functions from bootrom and results are promising.\r\nSo, tests will help with messing around with flash access.\r\n\r\nComments/suggestions are welcome!","created_at":"2016-07-15T13:24:26Z","updated_at":"2016-07-22T08:09:19Z","closed_at":null,"merged_at":null,"merge_commit_sha":"76f0230a071e9d7e2734bc8a51a626fc9c448221","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/pulls/163/commits","review_comments_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/pulls/163/comments","review_comment_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/pulls/comments{/number}","comments_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/issues/163/comments","statuses_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/statuses/0ec47b5de9ec705d86cc6d2b210dd791fa6e01a2","head":{"label":"sheinz:feature/spiffs","ref":"feature/spiffs","sha":"0ec47b5de9ec705d86cc6d2b210dd791fa6e01a2","user":{"login":"sheinz","id":2250775,"avatar_url":"https://avatars.githubusercontent.com/u/2250775?v=3","gravatar_id":"","url":"https://api.github.com/users/sheinz","html_url":"https://github.com/sheinz","followers_url":"https://api.github.com/users/sheinz/followers","following_url":"https://api.github.com/users/sheinz/following{/other_user}","gists_url":"https://api.github.com/users/sheinz/gists{/gist_id}","starred_url":"https://api.github.com/users/sheinz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sheinz/subscriptions","organizations_url":"https://api.github.com/users/sheinz/orgs","repos_url":"https://api.github.com/users/sheinz/repos","events_url":"https://api.github.com/users/sheinz/events{/privacy}","received_events_url":"https://api.github.com/users/sheinz/received_events","type":"User","site_admin":false},"repo":{"id":60256997,"name":"esp-open-rtos","full_name":"sheinz/esp-open-rtos","owner":{"login":"sheinz","id":2250775,"avatar_url":"https://avatars.githubusercontent.com/u/2250775?v=3","gravatar_id":"","url":"https://api.github.com/users/sheinz","html_url":"https://github.com/sheinz","followers_url":"https://api.github.com/users/sheinz/followers","following_url":"https://api.github.com/users/sheinz/following{/other_user}","gists_url":"https://api.github.com/users/sheinz/gists{/gist_id}","starred_url":"https://api.github.com/users/sheinz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sheinz/subscriptions","organizations_url":"https://api.github.com/users/sheinz/orgs","repos_url":"https://api.github.com/users/sheinz/repos","events_url":"https://api.github.com/users/sheinz/events{/privacy}","received_events_url":"https://api.github.com/users/sheinz/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/sheinz/esp-open-rtos","description":"Open source FreeRTOS-based ESP8266 software framework","fork":true,"url":"https://api.github.com/repos/sheinz/esp-open-rtos","forks_url":"https://api.github.com/repos/sheinz/esp-open-rtos/forks","keys_url":"https://api.github.com/repos/sheinz/esp-open-rtos/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sheinz/esp-open-rtos/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sheinz/esp-open-rtos/teams","hooks_url":"https://api.github.com/repos/sheinz/esp-open-rtos/hooks","issue_events_url":"https://api.github.com/repos/sheinz/esp-open-rtos/issues/events{/number}","events_url":"https://api.github.com/repos/sheinz/esp-open-rtos/events","assignees_url":"https://api.github.com/repos/sheinz/esp-open-rtos/assignees{/user}","branches_url":"https://api.github.com/repos/sheinz/esp-open-rtos/branches{/branch}","tags_url":"https://api.github.com/repos/sheinz/esp-open-rtos/tags","blobs_url":"https://api.github.com/repos/sheinz/esp-open-rtos/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sheinz/esp-open-rtos/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sheinz/esp-open-rtos/git/refs{/sha}","trees_url":"https://api.github.com/repos/sheinz/esp-open-rtos/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sheinz/esp-open-rtos/statuses/{sha}","languages_url":"https://api.github.com/repos/sheinz/esp-open-rtos/languages","stargazers_url":"https://api.github.com/repos/sheinz/esp-open-rtos/stargazers","contributors_url":"https://api.github.com/repos/sheinz/esp-open-rtos/contributors","subscribers_url":"https://api.github.com/repos/sheinz/esp-open-rtos/subscribers","subscription_url":"https://api.github.com/repos/sheinz/esp-open-rtos/subscription","commits_url":"https://api.github.com/repos/sheinz/esp-open-rtos/commits{/sha}","git_commits_url":"https://api.github.com/repos/sheinz/esp-open-rtos/git/commits{/sha}","comments_url":"https://api.github.com/repos/sheinz/esp-open-rtos/comments{/number}","issue_comment_url":"https://api.github.com/repos/sheinz/esp-open-rtos/issues/comments{/number}","contents_url":"https://api.github.com/repos/sheinz/esp-open-rtos/contents/{+path}","compare_url":"https://api.github.com/repos/sheinz/esp-open-rtos/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sheinz/esp-open-rtos/merges","archive_url":"https://api.github.com/repos/sheinz/esp-open-rtos/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sheinz/esp-open-rtos/downloads","issues_url":"https://api.github.com/repos/sheinz/esp-open-rtos/issues{/number}","pulls_url":"https://api.github.com/repos/sheinz/esp-open-rtos/pulls{/number}","milestones_url":"https://api.github.com/repos/sheinz/esp-open-rtos/milestones{/number}","notifications_url":"https://api.github.com/repos/sheinz/esp-open-rtos/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sheinz/esp-open-rtos/labels{/name}","releases_url":"https://api.github.com/repos/sheinz/esp-open-rtos/releases{/id}","deployments_url":"https://api.github.com/repos/sheinz/esp-open-rtos/deployments","created_at":"2016-06-02T10:59:37Z","updated_at":"2016-06-02T10:59:39Z","pushed_at":"2016-07-21T14:17:24Z","git_url":"git://github.com/sheinz/esp-open-rtos.git","ssh_url":"git@github.com:sheinz/esp-open-rtos.git","clone_url":"https://github.com/sheinz/esp-open-rtos.git","svn_url":"https://github.com/sheinz/esp-open-rtos","homepage":null,"size":9670,"stargazers_count":0,"watchers_count":0,"language":"C","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"SuperHouse:master","ref":"master","sha":"eac9504d8a44ab8de407eb3f361e7a272f272f35","user":{"login":"SuperHouse","id":11762865,"avatar_url":"https://avatars.githubusercontent.com/u/11762865?v=3","gravatar_id":"","url":"https://api.github.com/users/SuperHouse","html_url":"https://github.com/SuperHouse","followers_url":"https://api.github.com/users/SuperHouse/followers","following_url":"https://api.github.com/users/SuperHouse/following{/other_user}","gists_url":"https://api.github.com/users/SuperHouse/gists{/gist_id}","starred_url":"https://api.github.com/users/SuperHouse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SuperHouse/subscriptions","organizations_url":"https://api.github.com/users/SuperHouse/orgs","repos_url":"https://api.github.com/users/SuperHouse/repos","events_url":"https://api.github.com/users/SuperHouse/events{/privacy}","received_events_url":"https://api.github.com/users/SuperHouse/received_events","type":"Organization","site_admin":false},"repo":{"id":36720532,"name":"esp-open-rtos","full_name":"SuperHouse/esp-open-rtos","owner":{"login":"SuperHouse","id":11762865,"avatar_url":"https://avatars.githubusercontent.com/u/11762865?v=3","gravatar_id":"","url":"https://api.github.com/users/SuperHouse","html_url":"https://github.com/SuperHouse","followers_url":"https://api.github.com/users/SuperHouse/followers","following_url":"https://api.github.com/users/SuperHouse/following{/other_user}","gists_url":"https://api.github.com/users/SuperHouse/gists{/gist_id}","starred_url":"https://api.github.com/users/SuperHouse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SuperHouse/subscriptions","organizations_url":"https://api.github.com/users/SuperHouse/orgs","repos_url":"https://api.github.com/users/SuperHouse/repos","events_url":"https://api.github.com/users/SuperHouse/events{/privacy}","received_events_url":"https://api.github.com/users/SuperHouse/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/SuperHouse/esp-open-rtos","description":"Open source FreeRTOS-based ESP8266 software framework","fork":false,"url":"https://api.github.com/repos/SuperHouse/esp-open-rtos","forks_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/forks","keys_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/keys{/key_id}","collaborators_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/teams","hooks_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/hooks","issue_events_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/issues/events{/number}","events_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/events","assignees_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/assignees{/user}","branches_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/branches{/branch}","tags_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/tags","blobs_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/git/refs{/sha}","trees_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/git/trees{/sha}","statuses_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/statuses/{sha}","languages_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/languages","stargazers_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/stargazers","contributors_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/contributors","subscribers_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/subscribers","subscription_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/subscription","commits_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/commits{/sha}","git_commits_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/git/commits{/sha}","comments_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/comments{/number}","issue_comment_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/issues/comments{/number}","contents_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/contents/{+path}","compare_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/compare/{base}...{head}","merges_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/merges","archive_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/downloads","issues_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/issues{/number}","pulls_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/pulls{/number}","milestones_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/milestones{/number}","notifications_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/labels{/name}","releases_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/releases{/id}","deployments_url":"https://api.github.com/repos/SuperHouse/esp-open-rtos/deployments","created_at":"2015-06-02T08:52:21Z","updated_at":"2016-07-18T09:32:38Z","pushed_at":"2016-07-22T04:49:19Z","git_url":"git://github.com/SuperHouse/esp-open-rtos.git","ssh_url":"git@github.com:SuperHouse/esp-open-rtos.git","clone_url":"https://github.com/SuperHouse/esp-open-rtos.git","svn_url":"https://github.com/SuperHouse/esp-open-rtos","homepage":null,"size":9948,"stargazers_count":263,"watchers_count":263,"language":"C","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":70,"mirror_url":null,"open_issues_count":50,"forks":70,"open_issues":50,"watchers":263,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/SuperHouse/esp-open-rtos/pulls/163"},"html":{"href":"https://github.com/SuperHouse/esp-open-rtos/pull/163"},"issue":{"href":"https://api.github.com/repos/SuperHouse/esp-open-rtos/issues/163"},"comments":{"href":"https://api.github.com/repos/SuperHouse/esp-open-rtos/issues/163/comments"},"review_comments":{"href":"https://api.github.com/repos/SuperHouse/esp-open-rtos/pulls/163/comments"},"review_comment":{"href":"https://api.github.com/repos/SuperHouse/esp-open-rtos/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/SuperHouse/esp-open-rtos/pulls/163/commits"},"statuses":{"href":"https://api.github.com/repos/SuperHouse/esp-open-rtos/statuses/0ec47b5de9ec705d86cc6d2b210dd791fa6e01a2"}}}}
{"actor":{"display_login":"pellepl"}}