wip; fix more m_malloc and gc_alloc
This commit is contained in:
parent
fe0e2f13bc
commit
10b94796c0
@ -479,7 +479,7 @@ mp_obj_t common_hal_bleio_adapter_start_scan(bleio_adapter_obj_t *self, uint8_t
|
|||||||
self->scan_results = shared_module_bleio_new_scanresults(buffer_size, prefixes, prefix_length, minimum_rssi);
|
self->scan_results = shared_module_bleio_new_scanresults(buffer_size, prefixes, prefix_length, minimum_rssi);
|
||||||
|
|
||||||
// size_t max_packet_size = extended ? BLE_GAP_SCAN_BUFFER_EXTENDED_MAX_SUPPORTED : BLE_GAP_SCAN_BUFFER_MAX;
|
// size_t max_packet_size = extended ? BLE_GAP_SCAN_BUFFER_EXTENDED_MAX_SUPPORTED : BLE_GAP_SCAN_BUFFER_MAX;
|
||||||
// uint8_t *raw_data = m_malloc(sizeof(ble_data_t) + max_packet_size, false);
|
// uint8_t *raw_data = m_malloc(sizeof(ble_data_t) + max_packet_size);
|
||||||
// ble_data_t * sd_data = (ble_data_t *) raw_data;
|
// ble_data_t * sd_data = (ble_data_t *) raw_data;
|
||||||
// self->scan_results->common_hal_data = sd_data;
|
// self->scan_results->common_hal_data = sd_data;
|
||||||
// sd_data->len = max_packet_size;
|
// sd_data->len = max_packet_size;
|
||||||
|
@ -85,7 +85,7 @@ static int pulsein_interrupt_handler(int irq, FAR void *context, FAR void *arg)
|
|||||||
|
|
||||||
void common_hal_pulseio_pulsein_construct(pulseio_pulsein_obj_t *self,
|
void common_hal_pulseio_pulsein_construct(pulseio_pulsein_obj_t *self,
|
||||||
const mcu_pin_obj_t *pin, uint16_t maxlen, bool idle_state) {
|
const mcu_pin_obj_t *pin, uint16_t maxlen, bool idle_state) {
|
||||||
self->buffer = (uint16_t *)m_malloc(maxlen * sizeof(uint16_t), false);
|
self->buffer = (uint16_t *)m_malloc(maxlen * sizeof(uint16_t));
|
||||||
if (self->buffer == NULL) {
|
if (self->buffer == NULL) {
|
||||||
m_malloc_fail(maxlen * sizeof(uint16_t));
|
m_malloc_fail(maxlen * sizeof(uint16_t));
|
||||||
}
|
}
|
||||||
|
@ -103,7 +103,7 @@ void common_hal_bleio_characteristic_buffer_construct(bleio_characteristic_buffe
|
|||||||
bleio_characteristic_obj_t *characteristic,
|
bleio_characteristic_obj_t *characteristic,
|
||||||
mp_float_t timeout,
|
mp_float_t timeout,
|
||||||
size_t buffer_size) {
|
size_t buffer_size) {
|
||||||
uint8_t *buffer = m_malloc(buffer_size, true);
|
uint8_t *buffer = m_malloc(buffer_size);
|
||||||
_common_hal_bleio_characteristic_buffer_construct(self, characteristic, timeout, buffer, buffer_size, NULL, false);
|
_common_hal_bleio_characteristic_buffer_construct(self, characteristic, timeout, buffer, buffer_size, NULL, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -225,11 +225,11 @@ void common_hal_bleio_packet_buffer_construct(
|
|||||||
uint32_t *outgoing1 = NULL;
|
uint32_t *outgoing1 = NULL;
|
||||||
uint32_t *outgoing2 = NULL;
|
uint32_t *outgoing2 = NULL;
|
||||||
if (outgoing) {
|
if (outgoing) {
|
||||||
outgoing1 = m_malloc(max_packet_size, false);
|
outgoing1 = m_malloc(max_packet_size);
|
||||||
// Only allocate the second buffer if we are doing writes with responses.
|
// Only allocate the second buffer if we are doing writes with responses.
|
||||||
// Without responses, we just write as quickly as we can.
|
// Without responses, we just write as quickly as we can.
|
||||||
if (outgoing == CHAR_PROP_WRITE) {
|
if (outgoing == CHAR_PROP_WRITE) {
|
||||||
outgoing2 = m_malloc(max_packet_size, false);
|
outgoing2 = m_malloc(max_packet_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -190,7 +190,7 @@ mp_obj_t common_hal_mdns_server_find(mdns_server_obj_t *self, const char *servic
|
|||||||
// Don't error if we're out of memory. Instead, truncate the tuple.
|
// Don't error if we're out of memory. Instead, truncate the tuple.
|
||||||
uint8_t added = 0;
|
uint8_t added = 0;
|
||||||
while (next != NULL) {
|
while (next != NULL) {
|
||||||
mdns_remoteservice_obj_t *service = gc_alloc(sizeof(mdns_remoteservice_obj_t), GC_ALLOC_FLAG_HAS_FINALISER, false);
|
mdns_remoteservice_obj_t *service = gc_alloc(sizeof(mdns_remoteservice_obj_t), GC_ALLOC_FLAG_HAS_FINALISER);
|
||||||
if (service == NULL) {
|
if (service == NULL) {
|
||||||
if (added == 0) {
|
if (added == 0) {
|
||||||
m_malloc_fail(sizeof(mdns_remoteservice_obj_t));
|
m_malloc_fail(sizeof(mdns_remoteservice_obj_t));
|
||||||
|
@ -66,7 +66,7 @@ static esp_err_t get_bytes(nvs_handle_t handle, uint8_t **buf_out) {
|
|||||||
*buf_out = NULL;
|
*buf_out = NULL;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
buf = gc_alloc(size, 0, false); // this SHOULD be the same as
|
buf = m_m_alloc(size); // this SHOULD be the same as
|
||||||
if (result == ESP_OK) {
|
if (result == ESP_OK) {
|
||||||
result = nvs_get_blob(handle, "data", buf, &size);
|
result = nvs_get_blob(handle, "data", buf, &size);
|
||||||
} else {
|
} else {
|
||||||
|
@ -95,7 +95,7 @@ void pulsein_reset(void) {
|
|||||||
|
|
||||||
void common_hal_pulseio_pulsein_construct(pulseio_pulsein_obj_t *self, const mcu_pin_obj_t *pin,
|
void common_hal_pulseio_pulsein_construct(pulseio_pulsein_obj_t *self, const mcu_pin_obj_t *pin,
|
||||||
uint16_t maxlen, bool idle_state) {
|
uint16_t maxlen, bool idle_state) {
|
||||||
self->buffer = (uint16_t *)m_malloc(maxlen * sizeof(uint16_t), false);
|
self->buffer = (uint16_t *)m_malloc(maxlen * sizeof(uint16_t));
|
||||||
if (self->buffer == NULL) {
|
if (self->buffer == NULL) {
|
||||||
m_malloc_fail(maxlen * sizeof(uint16_t));
|
m_malloc_fail(maxlen * sizeof(uint16_t));
|
||||||
}
|
}
|
||||||
|
@ -329,7 +329,7 @@ void port_i2s_initialize(i2s_t *self, int instance, sai_transceiver_t *config) {
|
|||||||
mp_raise_ValueError_varg(translate("Invalid %q"), MP_QSTR_I2SOut);
|
mp_raise_ValueError_varg(translate("Invalid %q"), MP_QSTR_I2SOut);
|
||||||
}
|
}
|
||||||
for (size_t i = 0; i < MP_ARRAY_SIZE(self->buffers); i++) {
|
for (size_t i = 0; i < MP_ARRAY_SIZE(self->buffers); i++) {
|
||||||
self->buffers[i] = m_malloc(AUDIO_BUFFER_FRAME_COUNT * sizeof(uint32_t), false);
|
self->buffers[i] = m_malloc(AUDIO_BUFFER_FRAME_COUNT * sizeof(uint32_t));
|
||||||
}
|
}
|
||||||
self->peripheral = peripheral;
|
self->peripheral = peripheral;
|
||||||
SAI_Init(self->peripheral);
|
SAI_Init(self->peripheral);
|
||||||
|
@ -95,7 +95,7 @@ void ble_drv_add_event_handler(ble_drv_evt_handler_t func, void *param) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Add a new handler to the front of the list
|
// Add a new handler to the front of the list
|
||||||
ble_drv_evt_handler_entry_t *handler = m_new_ll(ble_drv_evt_handler_entry_t, 1);
|
ble_drv_evt_handler_entry_t *handler = m_new(ble_drv_evt_handler_entry_t, 1);
|
||||||
ble_drv_add_event_handler_entry(handler, func, param);
|
ble_drv_add_event_handler_entry(handler, func, param);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -544,7 +544,7 @@ mp_obj_t common_hal_bleio_adapter_start_scan(bleio_adapter_obj_t *self, uint8_t
|
|||||||
}
|
}
|
||||||
self->scan_results = shared_module_bleio_new_scanresults(buffer_size, prefixes, prefix_length, minimum_rssi);
|
self->scan_results = shared_module_bleio_new_scanresults(buffer_size, prefixes, prefix_length, minimum_rssi);
|
||||||
size_t max_packet_size = extended ? BLE_GAP_SCAN_BUFFER_EXTENDED_MAX_SUPPORTED : BLE_GAP_SCAN_BUFFER_MAX;
|
size_t max_packet_size = extended ? BLE_GAP_SCAN_BUFFER_EXTENDED_MAX_SUPPORTED : BLE_GAP_SCAN_BUFFER_MAX;
|
||||||
uint8_t *raw_data = m_malloc(sizeof(ble_data_t) + max_packet_size, false);
|
uint8_t *raw_data = m_malloc(sizeof(ble_data_t) + max_packet_size);
|
||||||
ble_data_t *sd_data = (ble_data_t *)raw_data;
|
ble_data_t *sd_data = (ble_data_t *)raw_data;
|
||||||
self->scan_results->common_hal_data = sd_data;
|
self->scan_results->common_hal_data = sd_data;
|
||||||
sd_data->len = max_packet_size;
|
sd_data->len = max_packet_size;
|
||||||
|
@ -102,7 +102,7 @@ void common_hal_bleio_characteristic_construct(bleio_characteristic_obj_t *self,
|
|||||||
self->initial_value_len = initial_value_bufinfo->len;
|
self->initial_value_len = initial_value_bufinfo->len;
|
||||||
if (gc_alloc_possible()) {
|
if (gc_alloc_possible()) {
|
||||||
if (gc_nbytes(initial_value_bufinfo->buf) > 0) {
|
if (gc_nbytes(initial_value_bufinfo->buf) > 0) {
|
||||||
uint8_t *initial_value = m_malloc(self->initial_value_len, false);
|
uint8_t *initial_value = m_malloc(self->initial_value_len);
|
||||||
memcpy(initial_value, initial_value_bufinfo->buf, self->initial_value_len);
|
memcpy(initial_value, initial_value_bufinfo->buf, self->initial_value_len);
|
||||||
self->initial_value = initial_value;
|
self->initial_value = initial_value;
|
||||||
} else {
|
} else {
|
||||||
|
@ -116,7 +116,7 @@ void common_hal_bleio_characteristic_buffer_construct(bleio_characteristic_buffe
|
|||||||
bleio_characteristic_obj_t *characteristic,
|
bleio_characteristic_obj_t *characteristic,
|
||||||
mp_float_t timeout,
|
mp_float_t timeout,
|
||||||
size_t buffer_size) {
|
size_t buffer_size) {
|
||||||
uint8_t *buffer = m_malloc(buffer_size, true);
|
uint8_t *buffer = m_malloc(buffer_size);
|
||||||
_common_hal_bleio_characteristic_buffer_construct(self, characteristic, timeout, buffer, buffer_size, NULL, false);
|
_common_hal_bleio_characteristic_buffer_construct(self, characteristic, timeout, buffer, buffer_size, NULL, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -298,14 +298,14 @@ void common_hal_bleio_packet_buffer_construct(
|
|||||||
uint32_t *incoming_buffer = NULL;
|
uint32_t *incoming_buffer = NULL;
|
||||||
if (incoming) {
|
if (incoming) {
|
||||||
incoming_buffer_size = buffer_size * (sizeof(uint16_t) + max_packet_size);
|
incoming_buffer_size = buffer_size * (sizeof(uint16_t) + max_packet_size);
|
||||||
incoming_buffer = m_malloc(incoming_buffer_size, false);
|
incoming_buffer = m_malloc(incoming_buffer_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t *outgoing1 = NULL;
|
uint32_t *outgoing1 = NULL;
|
||||||
uint32_t *outgoing2 = NULL;
|
uint32_t *outgoing2 = NULL;
|
||||||
if (outgoing) {
|
if (outgoing) {
|
||||||
outgoing1 = m_malloc(max_packet_size, false);
|
outgoing1 = m_malloc(max_packet_size);
|
||||||
outgoing2 = m_malloc(max_packet_size, false);
|
outgoing2 = m_malloc(max_packet_size);
|
||||||
}
|
}
|
||||||
_common_hal_bleio_packet_buffer_construct(self, characteristic,
|
_common_hal_bleio_packet_buffer_construct(self, characteristic,
|
||||||
incoming_buffer, incoming_buffer_size,
|
incoming_buffer, incoming_buffer_size,
|
||||||
|
@ -286,8 +286,8 @@ void common_hal_audiobusio_i2sout_play(audiobusio_i2sout_obj_t *self,
|
|||||||
self->buffer_length = sample_rate * buffer_length_ms
|
self->buffer_length = sample_rate * buffer_length_ms
|
||||||
* self->bytes_per_sample * self->channel_count / 1000;
|
* self->bytes_per_sample * self->channel_count / 1000;
|
||||||
self->buffer_length = (self->buffer_length + 3) & ~3;
|
self->buffer_length = (self->buffer_length + 3) & ~3;
|
||||||
self->buffers[0] = m_malloc(self->buffer_length, false);
|
self->buffers[0] = m_malloc(self->buffer_length);
|
||||||
self->buffers[1] = m_malloc(self->buffer_length, false);
|
self->buffers[1] = m_malloc(self->buffer_length);
|
||||||
|
|
||||||
|
|
||||||
audiosample_reset_buffer(self->sample, false, 0);
|
audiosample_reset_buffer(self->sample, false, 0);
|
||||||
|
@ -266,9 +266,9 @@ void common_hal_audiopwmio_pwmaudioout_play(audiopwmio_pwmaudioout_obj_t *self,
|
|||||||
mp_arg_validate_length_max(max_buffer_length, UINT16_MAX, MP_QSTR_buffer);
|
mp_arg_validate_length_max(max_buffer_length, UINT16_MAX, MP_QSTR_buffer);
|
||||||
|
|
||||||
uint16_t buffer_length = (uint16_t)max_buffer_length;
|
uint16_t buffer_length = (uint16_t)max_buffer_length;
|
||||||
self->buffers[0] = m_malloc(buffer_length * 2 * sizeof(uint16_t), false);
|
self->buffers[0] = m_malloc(buffer_length * 2 * sizeof(uint16_t));
|
||||||
if (!self->single_buffer) {
|
if (!self->single_buffer) {
|
||||||
self->buffers[1] = m_malloc(buffer_length * 2 * sizeof(uint16_t), false);
|
self->buffers[1] = m_malloc(buffer_length * 2 * sizeof(uint16_t));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -346,7 +346,7 @@ size_t common_hal_busio_uart_write(busio_uart_obj_t *self, const uint8_t *data,
|
|||||||
if (!nrfx_is_in_ram(data)) {
|
if (!nrfx_is_in_ram(data)) {
|
||||||
// Allocate long strings on the heap.
|
// Allocate long strings on the heap.
|
||||||
if (len > 128 && gc_alloc_possible()) {
|
if (len > 128 && gc_alloc_possible()) {
|
||||||
tx_buf = (uint8_t *)gc_alloc(len, false, false);
|
tx_buf = (uint8_t *)m_m_alloc(len);
|
||||||
} else {
|
} else {
|
||||||
tx_buf = alloca(len);
|
tx_buf = alloca(len);
|
||||||
}
|
}
|
||||||
|
@ -127,7 +127,7 @@ void common_hal_pulseio_pulsein_construct(pulseio_pulsein_obj_t *self, const mcu
|
|||||||
}
|
}
|
||||||
_objs[idx] = self;
|
_objs[idx] = self;
|
||||||
|
|
||||||
self->buffer = (uint16_t *)m_malloc(maxlen * sizeof(uint16_t), false);
|
self->buffer = (uint16_t *)m_malloc(maxlen * sizeof(uint16_t));
|
||||||
if (self->buffer == NULL) {
|
if (self->buffer == NULL) {
|
||||||
m_malloc_fail(maxlen * sizeof(uint16_t));
|
m_malloc_fail(maxlen * sizeof(uint16_t));
|
||||||
}
|
}
|
||||||
|
@ -230,7 +230,7 @@ STATIC void alloc_search_result_cb(struct mdns_answer *answer, const char *varpa
|
|||||||
|
|
||||||
if ((flags & MDNS_SEARCH_RESULT_FIRST) != 0) {
|
if ((flags & MDNS_SEARCH_RESULT_FIRST) != 0) {
|
||||||
// first
|
// first
|
||||||
mdns_remoteservice_obj_t *service = gc_alloc(sizeof(mdns_remoteservice_obj_t), 0, false);
|
mdns_remoteservice_obj_t *service = m_malloc(sizeof(mdns_remoteservice_obj_t));
|
||||||
if (service == NULL) {
|
if (service == NULL) {
|
||||||
// alloc fails
|
// alloc fails
|
||||||
mdns_search_stop(state->request_id);
|
mdns_search_stop(state->request_id);
|
||||||
|
@ -47,7 +47,7 @@ static const uint16_t pulsein_program[] = {
|
|||||||
void common_hal_pulseio_pulsein_construct(pulseio_pulsein_obj_t *self,
|
void common_hal_pulseio_pulsein_construct(pulseio_pulsein_obj_t *self,
|
||||||
const mcu_pin_obj_t *pin, uint16_t maxlen, bool idle_state) {
|
const mcu_pin_obj_t *pin, uint16_t maxlen, bool idle_state) {
|
||||||
|
|
||||||
self->buffer = (uint16_t *)m_malloc(maxlen * sizeof(uint16_t), false);
|
self->buffer = (uint16_t *)m_malloc(maxlen * sizeof(uint16_t));
|
||||||
if (self->buffer == NULL) {
|
if (self->buffer == NULL) {
|
||||||
m_malloc_fail(maxlen * sizeof(uint16_t));
|
m_malloc_fail(maxlen * sizeof(uint16_t));
|
||||||
}
|
}
|
||||||
|
@ -87,7 +87,7 @@ void common_hal_bleio_characteristic_buffer_construct(
|
|||||||
mp_float_t timeout,
|
mp_float_t timeout,
|
||||||
size_t buffer_size) {
|
size_t buffer_size) {
|
||||||
|
|
||||||
uint8_t *buffer = m_malloc(buffer_size, true);
|
uint8_t *buffer = m_malloc(buffer_size);
|
||||||
_common_hal_bleio_characteristic_buffer_construct(self,
|
_common_hal_bleio_characteristic_buffer_construct(self,
|
||||||
characteristic,
|
characteristic,
|
||||||
timeout,
|
timeout,
|
||||||
|
@ -223,12 +223,12 @@ void common_hal_bleio_packet_buffer_construct(
|
|||||||
|
|
||||||
if (incoming) {
|
if (incoming) {
|
||||||
incoming_buffer_size = buffer_size * (sizeof(uint16_t) + max_packet_size);
|
incoming_buffer_size = buffer_size * (sizeof(uint16_t) + max_packet_size);
|
||||||
incoming_buffer = m_malloc(incoming_buffer_size, false);
|
incoming_buffer = m_malloc(incoming_buffer_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (outgoing) {
|
if (outgoing) {
|
||||||
outgoing1 = m_malloc(max_packet_size, false);
|
outgoing1 = m_malloc(max_packet_size);
|
||||||
outgoing2 = m_malloc(max_packet_size, false);
|
outgoing2 = m_malloc(max_packet_size);
|
||||||
}
|
}
|
||||||
_common_hal_bleio_packet_buffer_construct(self, characteristic,
|
_common_hal_bleio_packet_buffer_construct(self, characteristic,
|
||||||
incoming_buffer, incoming_buffer_size,
|
incoming_buffer, incoming_buffer_size,
|
||||||
|
@ -284,10 +284,10 @@ void common_hal_audiopwmio_pwmaudioout_play(audiopwmio_pwmaudioout_obj_t *self,
|
|||||||
mp_raise_ValueError_varg(translate("Buffer length %d too big. It must be less than %d"), max_buffer_length, UINT16_MAX);
|
mp_raise_ValueError_varg(translate("Buffer length %d too big. It must be less than %d"), max_buffer_length, UINT16_MAX);
|
||||||
}
|
}
|
||||||
uint16_t buffer_length = (uint16_t)max_buffer_length / self->bytes_per_sample;
|
uint16_t buffer_length = (uint16_t)max_buffer_length / self->bytes_per_sample;
|
||||||
self->buffer[0] = m_malloc(buffer_length * sizeof(uint16_t), false);
|
self->buffer[0] = m_malloc(buffer_length * sizeof(uint16_t));
|
||||||
self->buffer_ptr[0] = self->buffer_length[0] = 0;
|
self->buffer_ptr[0] = self->buffer_length[0] = 0;
|
||||||
if (self->pin[1]) {
|
if (self->pin[1]) {
|
||||||
self->buffer[1] = m_malloc(buffer_length * sizeof(uint16_t), false);
|
self->buffer[1] = m_malloc(buffer_length * sizeof(uint16_t));
|
||||||
self->buffer_ptr[1] = self->buffer_length[1] = 0;
|
self->buffer_ptr[1] = self->buffer_length[1] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -120,7 +120,7 @@ void common_hal_pulseio_pulsein_construct(pulseio_pulsein_obj_t *self, const mcu
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Allocate pulse buffer
|
// Allocate pulse buffer
|
||||||
self->buffer = (uint16_t *)m_malloc(maxlen * sizeof(uint16_t), false);
|
self->buffer = (uint16_t *)m_malloc(maxlen * sizeof(uint16_t));
|
||||||
if (self->buffer == NULL) {
|
if (self->buffer == NULL) {
|
||||||
// TODO: free the EXTI here?
|
// TODO: free the EXTI here?
|
||||||
m_malloc_fail(maxlen * sizeof(uint16_t));
|
m_malloc_fail(maxlen * sizeof(uint16_t));
|
||||||
|
@ -51,7 +51,7 @@
|
|||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
// Memory allocation
|
// Memory allocation
|
||||||
|
|
||||||
#define m_malloc(n,_) (m_malloc_dyn((n)))
|
#define m_malloc(n) (m_malloc_dyn((n)))
|
||||||
#define m_free(ptr) (m_free_dyn((ptr)))
|
#define m_free(ptr) (m_free_dyn((ptr)))
|
||||||
#define m_realloc(ptr, new_num_bytes) (m_realloc_dyn((ptr), (new_num_bytes)))
|
#define m_realloc(ptr, new_num_bytes) (m_realloc_dyn((ptr), (new_num_bytes)))
|
||||||
|
|
||||||
|
2
py/py.mk
2
py/py.mk
@ -256,7 +256,7 @@ $(HEADER_BUILD)/compressed.data.h: $(HEADER_BUILD)/compressed.collected
|
|||||||
$(HEADER_BUILD)/$(TRANSLATION).mo: $(TOP)/locale/$(TRANSLATION).po | $(HEADER_BUILD)
|
$(HEADER_BUILD)/$(TRANSLATION).mo: $(TOP)/locale/$(TRANSLATION).po | $(HEADER_BUILD)
|
||||||
$(Q)$(PYTHON) $(TOP)/tools/msgfmt.py -o $@ $^
|
$(Q)$(PYTHON) $(TOP)/tools/msgfmt.py -o $@ $^
|
||||||
|
|
||||||
# translations-*.c is generated as a side-effect of building compression_translated.generated.h
|
# translations-*.c is generated as a side-effect of building compressed_translations.generated.h
|
||||||
# Specifying both in a single rule actually causes the rule to be run twice!
|
# Specifying both in a single rule actually causes the rule to be run twice!
|
||||||
# This alternative makes it run just once.
|
# This alternative makes it run just once.
|
||||||
$(PY_BUILD)/translations-$(TRANSLATION).c: $(HEADER_BUILD)/compressed_translations.generated.h
|
$(PY_BUILD)/translations-$(TRANSLATION).c: $(HEADER_BUILD)/compressed_translations.generated.h
|
||||||
|
@ -38,7 +38,7 @@ bool ringbuf_init(ringbuf_t *r, uint8_t *buf, size_t size) {
|
|||||||
|
|
||||||
// Dynamic initialization. This should be accessible from a root pointer..
|
// Dynamic initialization. This should be accessible from a root pointer..
|
||||||
bool ringbuf_alloc(ringbuf_t *r, size_t size) {
|
bool ringbuf_alloc(ringbuf_t *r, size_t size) {
|
||||||
bool result = ringbuf_init(r, gc_alloc(size, false), size);
|
bool result = ringbuf_init(r, m_malloc(size), size);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ STATIC mp_obj_t audiocore_get_buffer(mp_obj_t sample_in) {
|
|||||||
uint8_t bits_per_sample = audiosample_bits_per_sample(sample_in);
|
uint8_t bits_per_sample = audiosample_bits_per_sample(sample_in);
|
||||||
audiosample_get_buffer_structure(sample_in, false, &single_buffer, &samples_signed, &max_buffer_length, &spacing);
|
audiosample_get_buffer_structure(sample_in, false, &single_buffer, &samples_signed, &max_buffer_length, &spacing);
|
||||||
// copies the data because the gc semantics of get_buffer are unclear
|
// copies the data because the gc semantics of get_buffer are unclear
|
||||||
void *result_buf = gc_alloc(buffer_length, 0, false);
|
void *result_buf = m_malloc(buffer_length);
|
||||||
memcpy(result_buf, buffer, buffer_length);
|
memcpy(result_buf, buffer, buffer_length);
|
||||||
char typecode =
|
char typecode =
|
||||||
(bits_per_sample == 8 && samples_signed) ? 'b' :
|
(bits_per_sample == 8 && samples_signed) ? 'b' :
|
||||||
|
Loading…
Reference in New Issue
Block a user