write_nc_ was not declare in this scope

hello, i'm new to 3d printing. so i got a hadron printer a few months ago and haven't even got it to move. i keep getting the above mentioned error when compiling. i'm using marlin v1. also i get a max temp with my other version of marlin. this is getting very frustrating.

What's frustrating for us is, we can't see any of your code.

The code you are attempting to compile refers to a variable or function named write_nc_ - but no variable or function of that name has been declared (ie, it doesn't exist in your code), or has been declared in a location that is not within scope when the code attempts to call it.

This is a problem with the code you are attempting to compile. If someone else (such as someone affiliated with the 3d-printer company) wrote it, you should direct your inquiry to their technical support. If you wrote it, you should post the full code and complete text of the error message.

sry heres the code.

/*
This code contibuted by Triffid_Hunter and modified by Kliment
why double up on these macros? see http://gcc.gnu.org/onlinedocs/cpp/Stringification.html
*/

#ifndef _FASTIO_ARDUINO_H
#define _FASTIO_ARDUINO_H

#include <avr/io.h>

/*
utility functions
*/

#ifndef MASK
/// MASKING- returns \f$2^PIN\f$
#define MASK(PIN) (1 << PIN)
#endif

/*
magic I/O routines
now you can simply SET_OUTPUT(STEP); WRITE(STEP, 1); WRITE(STEP, 0);
*/

/// Read a pin
#define _READ(IO) ((bool)(DIO ## IO ## _RPORT & MASK(DIO ## IO ## _PIN)))
/// write to a pin
// On some boards pins > 0x100 are used. These are not converted to atomic actions. An critical section is needed.

#define _WRITE_C(IO, v) do { if (v) {
CRITICAL_SECTION_START;
{DIO ## IO ## _WPORT |= MASK(DIO ## IO ## _PIN); }
CRITICAL_SECTION_END;
}
else {
CRITICAL_SECTION_START;
{DIO ## IO ## _WPORT &= ~MASK(DIO ## IO ## _PIN); }
CRITICAL_SECTION_END;
}
}
while (0)

#define _WRITE(IO, v) do { if (&(DIO ## IO ## _RPORT) >= (uint8_t *)0x100) {_WRITE_C(IO, v); } else {_WRITE_NC(IO, v); }; } while (0)

/// toggle a pin
#define _TOGGLE(IO) do {DIO ## IO ## _RPORT = MASK(DIO ## IO ## _PIN); } while (0)

/// set pin as input
#define _SET_INPUT(IO) do {DIO ## IO ## _DDR &= ~MASK(DIO ## IO ## _PIN); } while (0)
/// set pin as output
#define _SET_OUTPUT(IO) do {DIO ## IO ## _DDR |= MASK(DIO ## IO ## _PIN); } while (0)

/// check if pin is an input
#define _GET_INPUT(IO) ((DIO ## IO ## _DDR & MASK(DIO ## IO ## _PIN)) == 0)
/// check if pin is an output
#define _GET_OUTPUT(IO) ((DIO ## IO ## _DDR & MASK(DIO ## IO ## _PIN)) != 0)

/// check if pin is an timer
#define _GET_TIMER(IO) ((DIO ## IO ## _PWM)

// why double up on these macros? see http://gcc.gnu.org/onlinedocs/cpp/Stringification.html

/// Read a pin wrapper
#define READ(IO) _READ(IO)
/// Write to a pin wrapper
#define WRITE(IO, v) _WRITE(IO, v)

/// toggle a pin wrapper
#define TOGGLE(IO) _TOGGLE(IO)

/// set pin as input wrapperel like it- not a comprehensive list!
*/

#if defined (AVR_ATmega168) || defined (AVR_ATmega328) || defined (AVR_ATmega328P)

Did you mean "WRITE_NC_"?

Please remember to use code tags when posting code.

yes sry , new ish here